zshのviモードでCtrl +左/右矢印がシンボルを消去するのを防ぐ方法は?

zshのviモードでCtrl +左/右矢印がシンボルを消去するのを防ぐ方法は?

zshでviモードを使用しているときにCtrl +矢印(左または右)を使用して単語(習慣の力)に移動しようとすると、シンボルと単語全体が削除されます。これを防ぐには、viモードをどのように設定する必要がありますか?

答え1

最初は見つかりましbindkey -aたが、挿入モードでは機能しません。私は偶然偶然発見したzsh 高度なバインディング文書

挿入モードでキーをマッピングするには、を使用する必要があります。コマンドモードでキーをマッピングするには、ORをbindkey -M viins使用できます。文書に示されているように、後者は読みにくい。残りはとても簡単です。 Ctrl+左矢印キーは、Ctrl+右矢印キーは、良いマッピングはそれぞれおよびです。結果の構成は次のとおりです。bindkey -M vicmdbindkey -a'^[[1;5D''^[[1;5C'emacs-backward-wordemacs-forward-word

# vi mode
bindkey -v

bindkey -M vicmd '^[[1;5C' emacs-forward-word
bindkey -M vicmd '^[[1;5D' emacs-backward-word
bindkey -M viins '^[[1;5C' emacs-forward-word
bindkey -M viins '^[[1;5D' emacs-backward-word

関連情報