web-dev-qa-db-ja.com

キーシーケンスをEscape、zshにバインドする

ZshでjjEscにマップするにはどうすればよいですか?

Vimで設定したキーマッピングを再作成しようとしています。jjESCにマップしているので、jを2回押すと必ず送信されます。 <Esc>からvimへ-便利に通常モードに入ることができます。

私はすでにbindkey 'jj' ^[を試しましたが、bindkey 'jj' ^[[を試そうとしていますが、うまくいくとは思えません。通常モードでzshが提供するコマンドのリストも確認しましたが、normalまたはescapeを含むものは何も見つかりませんでした。

[〜#〜]ノート[〜#〜]
^[ファイルの~/.zshrc文字は、ハードコードされた実際のエスケープです。文字^および[だけではありません。

11
Alexej Magura

ウィジェットの代わりに実際の文字列をバインドするには、-sが必要です。

bindkey -s jj '\e'

おそらく、ここでjjvi-cmd-modeウィジェットにマップする必要があります。

bindkey jj vi-cmd-mode

(それは通常/コマンドモードではなく、挿入モードでのバインド用であることに注意してください)

12