ikat urutan tombol ke Escape, zsh


11

Bagaimana saya akan peta jjke Escdalam zsh?

Saya mencoba untuk membuat ulang pemetaan kunci yang telah saya siapkan di vim, di mana saya telah jjmemetakan ESCsehingga setiap kali saya menekan dua kali j, ia mengirimkan sebuah <Esc>ke vim - memungkinkan saya untuk masuk ke mode normal dengan kenyamanan yang lebih besar.

Saya sudah mencoba bindkey 'jj' ^[, dan saya akan mencoba bindkey 'jj' ^[[, tetapi saya ragu itu akan berhasil. Saya juga memeriksa daftar perintah yang disediakan oleh zsh dalam mode normal, tetapi saya tidak melihat apa pun yang berisi normalatau escape.

CATATAN
The ^[karakter dalam saya ~/.zshrcberkas yang sebenarnya lolos kode keras; bukan hanya karakter ^dan [.

Jawaban:


12

Anda perlu -smengikat string aktual alih-alih widget:

bindkey -s jj '\e'

Meskipun Anda mungkin ingin untuk memetakan jjke vi-cmd-modewidget di sini:

bindkey jj vi-cmd-mode

(perhatikan itu untuk mengikat dalam mode insert, bukan mode normal / perintah)


1
yang kedua berfungsi seperti mantra, terima kasih!
Alexej Magura

2
Pengaturan CATATANKEYTIMEOUT tampaknya mematahkan ikatan-kunci.
Alexej Magura

@AlexejMagura baru saja menambahkan: mengatur KEYTIMEOUT terlalu rendah melarang zle mengenali pers ganda.
UltraMaster
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.