我已经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 自动完成插件。