在 zsh 中,使用 emacs 键映射模式,Control + _将取消完成。
例子:
echo $EDITOR[tab]
将完成如下:
echo vim
按下Control + _会将编辑器恢复为:
echo $EDITOR
我想用 vi 键映射模式做同样的事情。有没有办法做到这一点?是否已经有一个键映射来做到这一点? Control + _在插入模式和正常模式下都不起作用。
(u撤消)将删除整行。
我终于找到了方法。
bindkey -l will print a list of existing keymap names.
bindkey -M <keymap> will list all bindings for a given keymap.
所以我比较了 emacs 和 viins 绑定并添加了以下行:
bindkey -M viins "$key_info[Control]_" undo
到.zprezto/modules/editor/init.zsh
. 它有效。
我提出了一个请求以将此映射添加到 prezto: https ://github.com/sorin-ionescu/prezto/pull/1860