bash tab 补全 - 不重新打印选项+提示

K R*_*ael 6 bash tab-completion

在 bash 中执行制表符补全时(例如cd dir_ <TAB>),后续点击 会Tab导致重新打印匹配选项列表,每次点击 Tab 键一次(如下图)。每一个新行都是我点击Tab一次,然后重新打印选项(和提示)。

bash 选项卡补全

现在,例如在 zsh 中,此行为已被禁用。在下图中,我输入了内容cd dir_,然后反复点击选项卡。根据需要,提示和可用的完成选项不会重新打印,而是保持原样,位于当前提示下方。

zsh tab 补全

这对于 bash 来说是可能的吗?反复点击 Tab 时,屏幕上充满了所有选项,这非常烦人。

编辑
3 年后,我很高兴地报告我终于使用 zsh,这不再困扰我

har*_*eep 2

将这两行添加到您的 bashrc

bind 'set show-all-if-ambiguous on'
bind 'TAB:menu-complete'
Run Code Online (Sandbox Code Playgroud)

你应该没问题..但我看到你已经转移到 zsh 了。

更多关于bind(bash内置)的信息:

bind [-lpsvPSVX] [-m keymap] [-f filename] [-q name] [-u name]
     [-r keyseq] [-x keyseq:shell-command] 
     [keyseq:readline-function | readline-command]
Run Code Online (Sandbox Code Playgroud)