27 是否可以通过以下方式配置bash,使其在第一个选项卡自动完成时列出所有可能的文件,并在随后的循环中进行选择? 这两个选项很容易分别完成,我可以将它们绑定到不同的键,但是上面的方法很完美,但是我在网上找不到任何关于它的信息。 bash autocomplete — oo source 3 自从我使用ZSH已经有一段时间了,但是我相信它的自动完成功能是这样的。 — jordanm 2012年 1 @jordanm好吧,如果没有其他选择,那么这似乎是一个选择,但这也需要将所有内容从.bashrc等更新为ZSH等效项,我很想避免。 — Voo
31 这似乎接近您想要的: bind "TAB:menu-complete" bind "set show-all-if-ambiguous on" — 吉姆·巴黎 source 1 几乎完美,除了它还会在第一个选项卡上自动完成的小缺陷之外,如果我只是想弄清楚确切的名称,这可能会有点烦人(即,如果我想删除更多的字符,然后更改),但我非常愿意接受这一点。 — Voo 2012年 1 如何轻松撤消此操作? — dingalapadum 2015年 1 bind "TAB:complete"; bind "set show-all-if-ambiguous off" — 吉姆·巴黎 13 @Voo添加第三行将bind "set menu-complete-display-prefix on"仅在第一个选项卡上列出候选对象,而不会自动完成。 — Naitree 2015年 2 @Naitree无法充分支持您的建议。它可以正常运行,并且比默认的bash行为要好得多。谢谢。 — JBeurer '16
1 这就是我用的。据我所知,它确实可以满足您的需求。 # make tab cycle through commands after listing bind '"\t":menu-complete' bind "set show-all-if-ambiguous on" bind "set completion-ignore-case on" bind "set menu-complete-display-prefix on" 这适用于Mac(10.13&10.14)和Ubuntu(16.04&18.04)。 — 米洛 source
0 你有没有考虑过?它在超级用户中被引用... [[ $- = *i* ]] && bind TAB:menu-complete — 修补 source 1 menu-complete只是问题的一半。正如问题所言,“ [两种选择都容易分开进行”。 — jw013 是的,我知道如何将行为更改为两个选项之一,但这很简单。真正的问题是如何将两者结合在一起。 — Voo 2012年