pengembangan-web-mp-pd.com

Bagaimana cara saya pindah ke ujung jalur di Vim?

Saya tahu bagaimana cara umumnya bergerak dalam mode perintah, khususnya, melompat ke garis, dll. Tapi apa perintah untuk melompat ke ujung garis yang saya pakai saat ini?

1076
salt.racer

Hanya $ (tanda dolar) kunci. Kamu bisa memakai A untuk pindah ke akhir baris dan beralih ke mode pengeditan (Tambah). Untuk melompati karakter non-kosong terakhir, Anda dapat menekan g kemudian _ kunci.

Lawan dari A aku s I (Masukkan mode di awal baris), sebagai tambahan. Hanya menekan tombol ^ akan menempatkan kursor Anda di awal baris.

1881
dvorak

Seperti yang dikatakan banyak orang:

  • $ membawa Anda ke akhir baris

tetapi juga:

  • ^ atau _ membawa Anda ke karakter non-spasi pertama di baris, dan
  •  (nol) membawa Anda ke awal baris termasuk. ruang putih
285
Rob Wells
  • $ pindah ke karakter terakhir di telepon.
  • g_ pergi ke karakter non-spasi putih terakhir.

  • g$ pergi ke ujung garis layar (ketika garis penyangga dibungkus beberapa garis layar)

129
Paul Ruane

Pertanyaan utama - ujung baris

$ pergi ke akhir baris, tetap dalam mode perintah

A pergi ke akhir baris, beralih ke mode insert

Sebaliknya - mulai dari garis (secara teknis karakter pertama non-spasi putih )

^ pergi ke awal baris, tetap dalam mode perintah

I (huruf besar i) pergi ke awal baris, beralih ke mode memasukkan

Selanjutnya - mulai dari baris (secara teknis kolom pertama terlepas dari spasi putih )

 (nol) pergi ke awal baris, tetap dalam mode perintah

0i (nol diikuti dengan huruf kecil i) mulai dari garis, beralih ke mode memasukkan

Bagi mereka yang mulai belajar vi, berikut adalah pengantar vi yang baik dengan mendaftar perintah berdampingan vi untuk gerakan kursor Windows GUI Editor dan tombol pintas khas.

vi editor untuk pengguna Windows

53
ap-osd

Jika baris Anda saat ini membungkus layar yang terlihat ke baris berikutnya, Anda dapat menggunakan g $ untuk sampai ke akhir layar baris.

39
Commodore Jaeger

Tanda dolar: $

12
David Singer

Keuntungan dari tombol 'End' adalah berfungsi baik dalam mode normal dan menyisipkan.

'$' hanya berfungsi dalam mode normal/perintah tetapi juga berfungsi di editor vi klasik (baik untuk mengetahui kapan vim tidak tersedia).

12
Diastrophism

Dalam banyak kasus, ketika kita berada di dalam sebuah string kita dilingkupi oleh tanda kutip ganda, atau saat menulis pernyataan kita tidak ingin menekan escape dan pergi ke akhir baris itu dengan tombol panah dan tekan tanda titik koma (;) hanya untuk akhiri garis. Tulis baris berikut di dalam file vimrc Anda:

imap <C-l> <Esc>$a

Apa kata garis? Ini memetakan Ctrl + l ke serangkaian perintah. Itu sama dengan Anda menekan Esc (mode perintah), $ (ujung baris), a (tambahkan) sekaligus.

12
Pramod

Perhatikan juga perbedaan antara garis (atau mungkin garis fisik) dan garis layar. Baris diakhiri oleh karakter End Of Line ("\ n"). Baris layar adalah apa pun yang terjadi ditampilkan sebagai satu baris karakter di terminal Anda atau di layar Anda. Keduanya terpisah jika Anda memiliki garis fisik lebih panjang dari lebar layar, yang sangat umum saat menulis email dan semacamnya.

Perbedaannya juga muncul di perintah end-of-line.

  • $ dan  pindah ke akhir atau awal garis fisik atau paragraf, masing-masing:
  • g$ dan g pindah ke akhir atau awal baris layar atau paragraf.

Jika Anda selalu lebih suka perilaku yang terakhir, Anda dapat memetakan kembali kunci seperti ini:

:noremap 0 g0
:noremap $ g$
11
loevborg

Tekan A untuk memasuki mode edit mulai dari akhir baris.

9
Brian

Atau ada jawaban yang jelas: gunakan End untuk pergi ke akhir baris.

9
davr

Mungkin tidak terkait, tetapi jika Anda ingin memulai baris baru setelah baris saat ini, Anda dapat menggunakan o di mana saja di baris tersebut.

6
graywh

Opsi termudah adalah dengan memasukkan $. Jika Anda bekerja dengan blok teks, Anda mungkin menghargai perintahnya { dan } untuk memindahkan paragraf ke belakang dan ke depan, masing-masing.

3
paranza

Saya sudah terbiasa dengan Home/End membuat saya memulai dan mengakhiri baris dalam mode Insert (dari penggunaan di Windows dan saya pikir Linux), yang tidak didukung Mac. Ini sangat menjengkelkan karena ketika saya menggunakan vim pada sistem jarak jauh, saya juga tidak bisa dengan mudah melakukannya. Setelah beberapa percobaan dan kesalahan yang menyakitkan, saya datang dengan baris .vimrc ini yang melakukan hal yang sama, tetapi terikat ke Ctrl-A untuk memulai baris dan Ctrl-D untuk akhir baris. (Untuk beberapa alasan, Ctrl-E saya kira dicadangkan atau setidaknya saya tidak bisa menemukan cara untuk mengikatnya.) Nikmati.

:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>

Ada grafik yang baik di sini untuk ASCII kode karakter kontrol di sini untuk orang lain juga:

http://www.physics.udel.edu/~watson/scen103/ascii.html

Anda juga dapat melakukan Ctrl-V + Ctrl-, tetapi itu tidak menempel juga ke tempat-tempat seperti ini.

2
Marcus

Saya tidak dapat melihat hotkey untuk macbook untuk menggunakan vim di terminal standar. Semoga ini bisa membantu seseorang. Untuk pengguna macOS (diuji pada macbook pro 2018):

fn +  - pindah ke garis awal

fn +  - pindah ke garis akhir

fn +  - pindah halaman ke atas

fn +  - Pindahkan halaman ke bawah

fn + g - Pindahkan kursor ke awal dokumen

fn + shift + g - Pindahkan kursor ke akhir dokumen

Untuk dua perintah terakhir kadang perlu mengetuk dua kali.