Bagaimana cara beralih dengan nyaman ke mode perintah vi pada baris perintah zsh?

22

Dalam vi, saya telah memetakan 'jj' untuk melarikan diri agar dapat beralih ke mode perintah tanpa menggunakan tombol escape yang mengganggu. Sekarang saya ingin memiliki yang sama untuk mengedit baris perintah yang saya gunakan mode-vi. Saya sudah menemukan solusi berikut:

bindkey '^j' vi-cmd-mode

memungkinkan Anda mengubah dengan control-j ke mode perintah. Masih mencari solusi tanpa kunci pengubah sebagai 'jj' atau yang serupa.

Eman Resu
sumber
4
Mengapa tidak hanya memetakan ulang Caps Lock ke Escape?
Kyrias

Jawaban:

30

Catatan: Anda harus melihat man zshzlebanyak hal tentang menyesuaikan bindkeydan meniru GNU readline.

Ini adalah bagaimana saya memetakan jjke Esc:

bindkey -M viins 'jj' vi-cmd-mode

Jika Anda tertarik untuk membedakan antara mode insert dan mode normal, Anda dapat mencoba saran yang disebutkan di sini

Ehtesh Choudhury
sumber
ya! bekerja dengan sempurna. Terima kasih banyak!
Eman Resu
Apakah ada prasyarat yang perlu dipenuhi sebelum ini bekerja di zsh? Atau cara untuk debug ikatan utama? Setelah memasukkan perintah ini, tidak ada yang terjadi. Aku masih belum bekerja.
UltraMaster
5
Saya telah menetapkan KEYTIMEOUT terlalu rendah, itulah alasannya.
UltraMaster
@Ultramaster membuat poin yang bagus. Jika Anda sudah mengatur KEYTIMEOUT untuk kecepatan, saya akan merekomendasikan> = 20 milidetik. Sepertiexport KEYTIMEOUT=20
kerajinan