zshコマンドラインでviコマンドモードに快適に切り替える方法は?


22

viでは、迷惑なエスケープキーを使用せずにコマンドモードに切り替えることができるように 'jj'をエスケープにマップしました。ここで、viモードを使用するコマンドライン編集でも同じようにしたいです。私はすでに次の解決策を見つけました:

bindkey '^j' vi-cmd-mode

control-jでコマンドモードに変更できます。「jj」などの修飾キーのないソリューションを引き続き検索しています。


4
Caps Lockをエスケープに再マッピングするだけではどうですか?
キリアス

回答:


30

注:man zshzleカスタマイズbindkeyとエミュレートに関する多くの利点を確認する必要がありますGNU readline

これは私がにマッピングjjする方法ですEsc

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

挿入モードと通常モードを区別することに興味がある場合は、ここでアキラが言及している提案を試すことができます


うん!完全に動作します。ありがとう!
エマンレス

これがzshで機能する前に満たす必要のある前提条件はありますか?またはキーバインディングをデバッグする方法は?このコマンドを挿入した後、何も起こりません。jjはまだ動作しません。
UltraMaster 14

5
KEYTIMEOUTの設定が低すぎたため、それが理由でした。
UltraMaster

@Ultramasterは大きなポイントです。すでにKEYTIMEOUTの速度を設定している場合、20ミリ秒以上をお勧めします。などexport KEYTIMEOUT=20
クラフト
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.