zsh:按一次 Enter/Return 即可选择菜单自动完成

zsh:按一次 Enter/Return 即可选择菜单自动完成

一旦找到我想从完成菜单中选择的自动完成,我目前需要按<Enter>两次 - 一次将选择添加到终端,一次执行命令。

有没有办法只需<Enter>按一次即可完成两项操作?


我也尝试过

bindkey -M menuselect '^M' .accept-line

https://superuser.com/a/817451/1012390

但每次启动新终端时都会出现错误:

/home/kipras/.zshrc:bindkey:32: no such keymap `menuselect'

答案1

原来我漏掉了这一行我的~/.zshrc

zmodload -i zsh/complist

(应放在 之前bindkey -M menuselect '^M' .accept-line

解决了在这个 github gist 中经过github.com/okapia<3


完整答案:

bindkey -M menuselect '^M' .accept-line

将其向下移动到后面.zshrcmenuselect键盘映射在 complist 模块中定义。您可能有一行说明zmodload -i zsh/complist它需要位于其后。模块也可能仅由某些插件管理器/框架加载,但如果您已让光标驱动的完成菜单正常工作,则它必须在某个阶段加载。zmodload不带参数列出已加载的模块。

相关内容