Ubuntu 终端,如何“制表”(自动完成)文件名窗口 cmd 样式(循环选项)?

Ubuntu 终端,如何“制表”(自动完成)文件名窗口 cmd 样式(循环选项)?

基本上,我想从功能上改变 ubuntu 终端,这样当我按 Tab 键(在 cmd 行上)时,我可以循环浏览所有选项,而不是像默认那样列出选项?

我使用的是 bash,ubuntu 9.04。我看到“.bashrc”中存在一些可能性,但一定有人已经解决了这个问题?

答案1

根据评论这一页,把

bind '"\t":menu-complete'

.bashrc应该启用循环制表符完成。

第 8.4.6 节Bash 参考手册了解更多信息。

答案2

对我来说,一件可以拯救我生命的事就是让 bash 循环显示所有可能性,而不是显示一个愚蠢的列表。

由于 bash 正在使用readline其自动完成功能,因此将以下几行添加到~/.inputrc

一旦您满意并彻底测试了以下解决方案几天/几周,剪切和粘贴(不要复制!) 相同的设置~/.inputrc包含/etc/inputrc系统范围的设置,使其可供系统上的所有用户(包括访客)使用。

代码:

# mappings to have up and down arrow searching through history:
"\e[A": history-search-backward
"\e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"\e[C": forward-char
"\e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"\t": menu-complete
"\e[Z": menu-complete-backward

然后exit你的终端(或像 putty 这样的远程终端)并再次打开它...

例子:

  1. 当您有 3 个文件:file1file2file3并且您输入:

    e fTabTabTab

    它会循环:

    e file1
    e file2
    e file3
    

    当你想返回时,只需按Shift+Tab

  2. 当你输入:

    very-complicated-command with lots of command line parameters
    

    下次你需要相同的命令时,只需输入:

    very

    它会为你输入:

    very-complicated-command with lots of command line parameters
    

这将为你节省大量时间!;-)

来源

相关内容