SuperPrower Asked: 2022-10-28 08:15:57 +0800 CST2022-10-28 08:15:57 +0800 CST 2022-10-28 08:15:57 +0800 CST 如何在zsh的vi模式下阻止Ctrl +向左/向右箭头擦除符号? 772 在 zsh 中使用 vi 模式时,使用 ctrl+箭头(向左或向右)尝试按单词导航(习惯的力量)会导致符号和整个单词被删除。如何配置vi模式来防止这种情况? zsh 1 个回答 Voted Best Answer SuperPrower 2022-10-28T08:19:18+08:002022-10-28T08:19:18+08:00 我最初只发现 about bindkey -a,但它在插入模式下不起作用。我偶然发现了zsh 高级绑定文档。 要在插入模式下映射键,必须使用bindkey -M viins. 要在命令模式下映射一个键, on 可以使用bindkey -M vicmdOR bindkey -a。正如文档所述,后者不是很可读。剩下的很简单,Ctrl+左箭头的键是'^[[1;5D',Ctrl+右箭头的键是'^[[1;5C',好的映射分别是emacs-backward-word和emacs-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
我最初只发现 about
bindkey -a
,但它在插入模式下不起作用。我偶然发现了zsh 高级绑定文档。要在插入模式下映射键,必须使用
bindkey -M viins
. 要在命令模式下映射一个键, on 可以使用bindkey -M vicmd
ORbindkey -a
。正如文档所述,后者不是很可读。剩下的很简单,Ctrl+左箭头的键是'^[[1;5D'
,Ctrl+右箭头的键是'^[[1;5C'
,好的映射分别是emacs-backward-word
和emacs-forward-word
。生成的配置是: