当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我的电脑上也一样,所以没有担心它不是便携; 谢谢。:)