Bagaimana saya bisa memodifikasi Vim agar bekerja dengan tata letak keyboard yang berbeda?

11

Saya mengetik dengan tata letak keyboard non-QWERTY. Banyak tombol yang digunakan Vim sekarang di baris rumah, tetapi beberapa ikatan kunci tidak berfungsi, yang paling jelas adalah hjklkunci.

Bagaimana dan di mana saya dapat mengubah binding kunci ini agar berfungsi lebih baik dengan tata letak keyboard saya?

Earthliŋ
sumber

Jawaban:

8
:help langmap

Anda dapat memetakan kembali kunci dalam mode perintah tetapi membiarkannya tetap utuh untuk mengetik. Ini berarti Anda dapat menggunakan maksud hjkl- tombol homerow yang berdekatan untuk menggulir - dengan menekan padanan posisional pada keyboard Anda. Misalkan tata letak Anda adalah Dvorak, maka tombol-tombol yang sama htns. hsama, jadi kita perlu memetakan tiga lainnya:

:set langmap=tj,nk,sl

Anda sekarang dapat menavigasi menggunakan htns. Ini tidak akan mempengaruhi :commands like thisdan tidak akan mengubah mode penyisipan (yaitu, menekan takan memberi Anda 't').

David Lord
sumber
1
Agar adil, Dvorak menggunakan kunci dhtn, bukan htns, di tempat Qwerty menggunakan hjkl.
Anthony
2

Anda dapat memetakan kembali kunci dalam vim. nnoremap [ hremaps [untuk h, sehingga Anda dapat menggunakan [di tempat h, Anda bisa remap huntuk apa [awalnya memang untuk itu menjadi lengkap. Anda harus melakukan ini untuk semua tombol dan ada mode yang berbeda untuk dipertimbangkan, jadi saya kira itu akan sedikit menyebalkan.

Dhruva Sagar
sumber
Karena saya akan menggunakan vim untuk setidaknya 10 tahun ke depan saya akan berpikir itu layak investasi. Di mana saya menggunakan ini agar perubahan itu cukup permanen?
Earthliŋ
1
Anda harus meletakkan ini di ~ / .vimrc Anda
Dhruva Sagar