Bash 自动完成:不列出文件或目录

Bash 自动完成:不列出文件或目录

在我的 bash 终端中,我通常会按两次 Tab 键来获取文件和文件夹列表。例如,cat2XTAB将列出当前目录中的所有文件和文件夹,cd Proj2XTAB将列出以“Proj”开头的所有目录。

我没有看到这种行为(TAB在新机器上的 double 上列出文件和目录(我没有 root 访问权限)。相反, doubleTAB和后续的TABs 循环遍历文件或目录列表。这是有问题的,因为有很多目录中的文件和目录结构非常深;因此,我不能ls每次都用来列出文件。

答案1

尝试这个命令:

bind 'TAB:complete'

或者

bind '"\t":complete'

答案2

这是由自动完成中的设置控制的readline。如果你看一下bash 的手册页并搜索“正在完成“您将看到配置设置complete和。这些可以在 中在系统范围内声明,并且可以选择在 中possible-completions为每个用户覆盖。menu-complete/etc/inputrc$HOME/.inputrc

在您$HOME/.inputrc添加此行中,如有必要,创建文件:

"\C-i": complete

(包括双引号和反斜杠)。重新启动 bash,您的 TAB 键将再次按您想要的方式工作。

相关内容