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