当zsh向您显示可能的补全菜单时,我希望它可以让我shift-tab
用来访问以前的补全条目-是否有一个选项可控制使用什么键来访问以前的补全条目?
如果是这样,我需要将什么添加到我的~/.zshrc
文件中进行设置。
如果有什么不同,我目前可以使用箭头键浏览完成菜单,但是我不喜欢这样做,因为箭头键感觉不合适并且难以使用。
当zsh向您显示可能的补全菜单时,我希望它可以让我shift-tab
用来访问以前的补全条目-是否有一个选项可控制使用什么键来访问以前的补全条目?
如果是这样,我需要将什么添加到我的~/.zshrc
文件中进行设置。
如果有什么不同,我目前可以使用箭头键浏览完成菜单,但是我不喜欢这样做,因为箭头键感觉不合适并且难以使用。
Answers:
您想要将编辑器命令绑定reverse-menu-complete
到menuselect
键盘映射。
bindkey -M menuselect '^[[Z' reverse-menu-complete
我不确定转义序列的可移植性^[[Z
,因此您可能需要检查terminfo(5)以查看是否存在使用$terminfo
数组正确绑定它的方法。
请注意,menuselect
加载zsh/complist
模块后,键盘映射可用。如果您使用来配置完成系统compinstall
,那么通常在您第一次完成某项操作时会自动加载该模块。为了能够将该绑定添加到您的~/.zshrc
,您需要首先使用以下命令手动在其中加载模块:
zmodload zsh/complist
zsh
将bindkey
行添加到~/.zshrc
文件后调用时,出现以下错误: ~/.zshrc:bindkey:190: no such keymap `menuselect'
"${terminfo[kcbt]}"
。
^[[Z
是shift-tab
我的电脑上也一样,所以没有担心它不是便携; 谢谢。:)