Dalam vim, bagaimana cara membuat tombol panah kiri dan kanan mengubah baris?


25

Di vim, tombol panah saya berfungsi dengan benar, bergerak ke atas, ke bawah, ke kiri, dan ke kanan seperti yang diharapkan, dengan satu pengecualian. Di awal baris, panah kiri tidak melakukan apa-apa, alih-alih pergi ke karakter terakhir dari baris sebelumnya. Di akhir baris, panah kanan tidak melakukan apa-apa, alih-alih pergi ke karakter pertama dari baris berikutnya.

Apakah ada pengaturan yang bisa saya ubah untuk mendapatkan perilaku yang saya harapkan?


4
Saya pikir sebagian besar pengguna VIM akan merekomendasikan agar Anda tidak menggunakan tombol panah.
user12612

@ user12612 mengapa tepatnya?
luchonacho

@luchonacho Saya pikir idenya adalah bahwa pengguna VIM yang serius akan berpendapat bahwa jari-jari Anda tidak boleh meninggalkan baris beranda keyboard Anda untuk menavigasi di mana Anda berada dalam teks Anda.
nohat

Jawaban:


26

Setelah beberapa Googling lebih lanjut, saya menemukan jawabannya adalah menggunakan whichwrapopsi.

Saya menambahkan baris berikut ke .vimrc saya:

set whichwrap+=<,>,[,]

The <dan >pilihan mengaktifkan pengaturan yang diinginkan untuk mode normal dan [dan ]mengaktifkan pengaturan yang diinginkan untuk mode insert.


1
(Mengapa ini bukan pengaturan default pada sistem saya adalah sebuah misteri)
nohat

Ini sepertinya tidak mempengaruhi perilaku h j k lkunci.
Sebastián Grignoli

Benar, ada nilai lain untuk h dan j. Lihat :help 'whichwrap'atau vimhelp.appspot.com/options.txt.html#%27whichwrap%27 . k dan l tidak benar-benar berlaku karena kita berbicara tentang perilaku kiri / kanan di awal / akhir baris.
Adam Monsen

9

Tambahkan ini ke .vimrc Anda:

set whichwrap+=<,>,h,l,[,]

0

Ini adalah perilaku default - Anda selalu dapat menggunakan Home dan End untuk melompat ke awal dan akhir garis.


5
OP ingin mengubah perilaku default. Itulah mengapa dia bertanya di sini sejak awal.
akira

0

Anda dapat mengatasi ini dengan menggunakan w dan b yang akan membungkus garis.


Tetapi b membawa Anda karakter pertama dari kata terakhir dari baris sebelumnya. Apakah benar-benar tidak ada cara untuk membuat panah kiri bergerak ke karakter terakhir dari baris sebelumnya ketika pada karakter pertama dari sebuah baris?
nohat

Ya saya tahu, itu bukan solusi nyata.
hasen
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.