在bash中,如果您在有多个可能的补全时按下tab键,则获得的匹配项列表会不断重复打印,如果您反复按tab键。在tcsh中,将自动完成设置为增强也可以实现这一点。
在zsh中,您确实获得了比赛列表,但是在第二,第三选项卡上按它开始循环进行比赛。有没有办法让zsh等效于bash的显示所有-如果模棱两可而无需循环?
我不是在寻找聪明但没用的“为什么在第一次显示后为什么多次按Tab键?”。如果我能够调整自己的习惯,那么现在我已经可以调整了。
在bash中,如果您在有多个可能的补全时按下tab键,则获得的匹配项列表会不断重复打印,如果您反复按tab键。在tcsh中,将自动完成设置为增强也可以实现这一点。
在zsh中,您确实获得了比赛列表,但是在第二,第三选项卡上按它开始循环进行比赛。有没有办法让zsh等效于bash的显示所有-如果模棱两可而无需循环?
我不是在寻找聪明但没用的“为什么在第一次显示后为什么多次按Tab键?”。如果我能够调整自己的习惯,那么现在我已经可以调整了。
Answers:
岩组有很多完成相关的选项(见man zshoptions
下面Completion
)。我想你很在意setopt no_auto_menu
,也许setopt bash_auto_list
也是。
setopt no_auto_menu
确实禁用了制表符完成循环:如果按Tab
,并且当前前缀不明确,则会看到一个菜单,仅此而已,命令行将不会更改。
Tab
。如果我从终端仿真器菜单中清除屏幕或创建文件,然后Tab
再次按,则zsh将重新显示列表并显示新文件。(仅使用zsh 4.3.4进行了测试,我认为行为不会在很长一段时间内发生变化。)