Zsh完成,启用Shift-Tab


13

当zsh向您显示可能的补全菜单时,我希望它可以让我shift-tab用来访问以前的补全条目-是否有一个选项可控制使用什么键来访问以前的补全条目?

如果是这样,我需要将什么添加到我的~/.zshrc 文件中进行设置。

如果有什么不同,我目前可以使用箭头键浏览完成菜单,但是我不喜欢这样做,因为箭头键感觉不合适并且难以使用。

Answers:


13

您想要将编辑器命令绑定reverse-menu-completemenuselect键盘映射。

bindkey -M menuselect '^[[Z' reverse-menu-complete

我不确定转义序列的可移植性^[[Z,因此您可能需要检查terminfo(5)以查看是否存在使用$terminfo数组正确绑定它的方法。

请注意,menuselect加载zsh/complist模块后,键盘映射可用。如果您使用来配置完成系统compinstall,那么通常在您第一次完成某项操作时会自动加载该模块。为了能够将该绑定添加到您的~/.zshrc,您需要首先使用以下命令手动在其中加载模块:

zmodload zsh/complist

^[[Zshift-tab我的电脑上也一样,所以没有担心它不是便携; 谢谢。:)
Alexej Magura

1
zshbindkey行添加到~/.zshrc文件后调用时,出现以下错误: ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura

2
那会是"${terminfo[kcbt]}"
Thomas Dickey
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.