fishシェルのvimキーバインドでEsc以外でインサートモードからノーマルモードに変更する
~/.config/fish/functions/fish_user_key_bindings.fish
でfish_user_key_bindings
に以下のように追記すればOKです。
function fish_user_key_bindings ... fish_vi_key_bindings --no-erase bind -M insert -m default jk force-repaint # 追記 jkでノーマルモードへ end
やっていること
今回設定したもので、インサートモードでjk
が押されたらノーマルモード(default
モード)に変更して、プロンプトの再描画を行う、ということになります。プロンプトの再描画を行わないと、プロンプトに現在のモードを表示している場合に表示されているモードが書き変わりません。
詳細はman bind
もしくはfish-shellのbindのドキュメントをご確認ください。
ちなみにドキュメントにも書かれていますが~/.config/fish/config.fish
の方にカスタムキーバインドの設定を直接書いても動かないのでご注意ください。