Answers:
对我而言,可以挽救生命的事情是让各种可能性循环进行,而不是显示出愚蠢的清单。
当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
将您的终端机(或腻子之类的远程终端机)重新打开...
当您有3个文件时:file1
,file2
然后file3
键入:
e fTabTabTab
它会循环通过:
e file1
e file2
e file3
而当您想向后循环时,只需按Shift+Tab
当您键入:
very-complicated-command with lots of command line parameters
下次您需要相同的命令时,只需键入:
very↑
并为您输入:
very-complicated-command with lots of command line parameters
git branch <tab through branches>
。但是,如果我可以看到列表和选项卡中的所有项,那太好了!对于目录和文件ls
是查看可用项目的选项,但是,对于子命令来说,并不是那么容易或显而易见,
1号之后,tab您需要插入更多字母。所以如果你输入
cd a
并击中tab您什么也没有,然后tab(立即跟随)一秒钟后,您会得到一个以开头的名称列表,a
然后需要插入f
使其自动完成其余的名称,因此
cd a
tabtabf
tabtab
将导致
cd afoo
a
而您需要最后一个。当您不小心按下Tab键后,a
您必须循环浏览所有可能的补全列表以找到正确的补全。
~/.inputrc
可能是最好了/etc/inputrc
,和2我觉得你可以设置这bash
直接:unix.stackexchange.com/q/55203/70524,unix.stackexchange.com/a/16926/70524