如何使 bash 列表在同一行上完成可能的文件补全

如何使 bash 列表在同一行上完成可能的文件补全

每次我按 Tab 键列出我所在目录与指定的部分文件名的可能匹配的文件名时,bash 都会列出可能的匹配并换到新行。

有谁知道是否可以改变这种行为,使得可能的匹配项列在当前正在输入的命令下面,但是命令焦点停留在原处,不会换行。如果重复按下 Tab 键显示的匹配项与之前显示的匹配项不同,则之前显示的文件名匹配项将在屏幕上被删除并替换为新的结果。

在过去一年左右的时间里,我一直使用 zsh,它具有这样的功能,但我不知道这个功能是否是 zsh 固有的,或者是否有某些配置强制执行该行为(我无法再访问那台机器,所以我无法检查)。

我以前有过的 zsh 行为,以及我试图模仿的行为,也提供了自动完成功能,通过在列表显示后反复按 Tab 键循环浏览每个可能的列出匹配项(前提是指定的部分文件名没有更改,这将导致出现新的可能文件名匹配项列表 - 我知道可以通过在配置中绑定“TAB:menu-complete”来实现循环自动完成功能)。

如果相关的话,我之前使用的 zsh shell 是在 RHEL 上运行的。我目前在 Ubuntu 上运行 bash。

答案1

这是 zsh 特有的显示行为;bash 不支持它。您可以习惯它,或者在 Ubuntu 系统上安装 zsh。

相关内容