相当于bash的zsh显示所有-如果模棱两可?


8

在bash中,如果您在有多个可能的补全时按下tab键,则获得的匹配项列表会不断重复打印,如果您反复按tab键。在tcsh中,将自动完成设置为增强也可以实现这一点。

在zsh中,您确实获得了比赛列表,但是在第二,第三选项卡上按它开始循环进行比赛。有没有办法让zsh等效于bash的显示所有-如果模棱两可而无需循环?

我不是在寻找聪明但没用的“为什么在第一次显示后为什么多次按Tab键?”。如果我能够调整自己的习惯,那么现在我已经可以调整了。

Answers:


5

岩组有很多完成相关的选项(见man zshoptions下面Completion)。我想你很在意setopt no_auto_menu,也许setopt bash_auto_list也是。


对不起,我的话不好说。我想知道如何禁用制表符完成循环。我想我将提出一个新问题。

3
@ user714112:setopt no_auto_menu确实禁用了制表符完成循环:如果按Tab,并且当前前缀不明确,则会看到一个菜单,仅此而已,命令行将不会更改。
吉尔(Gilles)“所以,别再邪恶了”,

谢谢,你是对的。我不确定为什么我以前没有看到。是否有可能重新显示第二,第三,第四选项卡上的列表而不是什么?人类的直觉是,如果在第二,第三,第四选项卡上的按键均无反应,则键盘将无法正常工作。
Sridhar Sarnobat

@ user7000:同样,每次您按时,它都会重新显示列表Tab。如果我从终端仿真器菜单中清除屏幕或创建文件,然后Tab再次按,则zsh将重新显示列表并显示新文件。(仅使用zsh 4.3.4进行了测试,我认为行为不会在很长一段时间内发生变化。)
Gilles'所以

1
我终于找到了解决方案。我需要您的2个选项以及删除ALWAYS_LAST_PROMPT的选项。因此,这给了我想要的难以捉摸的行为:setopt bash_auto_list; setopt no_auto_menu; 取消选择ALWAYS_LAST_PROMPT; 再次感谢您为我提供帮助。我感谢您的坚持
Sridhar Sarnobat 2011年
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.