Menggunakan tanda dengan kunci mati

9

Saya menggunakan tata letak keyboard di mana backtick ( `) adalah kunci mati .

Ini berarti bahwa ketika saya mengetik backtick diikuti oleh vokal (misalnya `a) apa yang dilihat Vim adalah karakter beraksen ( à). Jadi jika saya menetapkan tanda dengan masaya dapat melompat ke garis tanda dengan 'a. Tetapi melompat ke lokasi spesifik tanda `atidak akan berfungsi.

Saya menemukan solusi untuk ini: ketika mengetikkan kunci mati saya bisa membuat Vim menerima backtick dengan memukul backtick dan kemudian spasi. Jadi jika saya ingin pergi ke tanda asaya ketik `␣a.

Apakah ada cara untuk melompat ke sasaran tanpa harus menyerang ruang ekstra itu? Tanpa efek samping?

Gonçalo Ribeiro
sumber
Tidak dapat menggunakan backtick tipe 2 untuk mendapatkan backtick? Atau konfigurasikan OS Anda untuk melakukan itu? Itu masih merupakan keystoke tambahan, tetapi lebih baik daripada `+ space ...
Martin Tournoij
@Carpetsmoker No. Mengetik dua backticks biasanya menghasilkan `` untuk saya. Tetapi dalam mode Normal sepertinya hal lain terjadi: Saya mengetikkan `` a dan Vim mengatakan "E78: Tanda tidak dikenal." Dari showcmdsaya pikir Vim mengerti ini sebagai `à. Saya juga ingin membuat perilaku OS independen. maptampaknya melakukan pekerjaan.
Gonçalo Ribeiro

Jawaban:

12

Coba buat pemetaan:

" Mapping dead keys in normal mode
nmap á 'a

Dengan begitu, ketika Vim mendapatkan aksen, ia menafsirkannya sebagai `+a

Penggunaan nmapmemungkinkan ini terjadi dalam mode normal saja; dalam mode sisipkan atau mode perintah, Anda akan mendapatkan aksen aseperti yang Anda harapkan.

Dimungkinkan untuk menerapkan ini pada kunci lain:

nmap à `a
nmap Á 'A
nmap À `A
nmap ç 'c
nmap Ç 'C
nmap é 'e
nmap è `e
nmap É 'E
nmap È `E
nmap í 'i
nmap ì `i
nmap Í 'I
nmap Ì `I
nmap ó 'o
nmap ò `o
nmap Ó 'O
nmap Ò `O
nmap ú 'u
nmap ù `u
nmap Ú 'U
nmap Ù `U
John O'M.
sumber
Ini berhasil. Dan tanpa efek samping. Saya harus belajar menggunakan peta. Terima kasih.
Gonçalo Ribeiro
Sama-sama. Senang bisa membantu.
John O'M.
Bagaimana dengan ^ (karakter lembut pertama dari baris)? Karena ini adalah perintah mandiri, apa yang bisa dilakukan? Apakah OS menyimpan kunci mati sampai tombol lain ditekan?
Spidey