如何使“zsh”立即显示所有补全,而不先插入公共前缀?

如何使“zsh”立即显示所有补全,而不先插入公共前缀?

我已经zsh设置了 Oh-My-Zsh。该z插件允许我跳转到最近使用的目录。

当我输入 时z name<TAB>,它会通过与列表name匹配来自动完成最近访问的目录列表。name

有时结果只包含一个条目,而我知道应该有多个条目。我已经调试了该$reply变量,如果所有条目都具有相同的前缀(例如/path/to/dir,包含目录),则会发生这种情况。name 在这种情况下,自动完成菜单中只有前缀,而不是匹配目录的完整列表。扩展后再次点击<TAB>,触发对脚本完整函数的新调用,z现在使用完整的公共前缀而不是我的搜索查询,例如/path/to/dir

当我按 <Shift+Tab> 时,它必然会reverse-menu-complete zsh正确选择最后一个项目并显示完整列表。

有没有办法让 Tab 立即显示所有补全,而不需要先插入公共前缀?

答案1

将其添加到您的.zshrc文件中,采购 Oh-My-Zsh:

bindkey '\t' menu-complete

现在的Tab行为与 完全相同ShiftTab,但方向相反。


或者,为了更好地控制完成行为,请安装我的Zsh 自动完成插件

相关内容