Answers:
您正在寻找的readline命令是以下history-search-*
命令:
history-search-forward
在历史记录中向前搜索当前行的开头与当前光标位置(点)之间的字符串。这是非增量搜索。
history-search-backward
在历史记录中向后搜索当前行的起点与该点之间的字符串。这是非增量搜索。
将它们绑定到您的中.inputrc
,如下所示:
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
将允许您输入命令的前几个字符,然后使用Up和Down键仅浏览命令中.bash_history
以该字符串开头的那些命令。
例如,输入vi
和Up将带您进入以开头的第一个上一个命令vi
,例如vim somefile
。输入Up将带您到下一个上一个实例,依此类推。
您可以在此处阅读有关所有readline绑定的更多信息:http : //linux.about.com/library/cmd/blcmdl3_readline.htm
加上一个“!” 到您要查找的命令。如果您希望替换向上和向下箭头的功能,则可以修改inputrc文件(如其他答案所示)。
如果“ command”是您要搜索的命令,请输入以下内容:
!comm
您应该获得“命令”作为输出。
同样,如果要查找包含(但可能不以)开头的命令,请按ctrl + r,然后键入命令的一部分。
您也可以输入“标签”以自动完成输入的文本(也包括文件)。如果您要查找历史记录中没有的命令(或者您没有历史记录文件),这很有用。
您可以在此处阅读有关“掌握”历史记录文件的更多信息:http : //www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/
这可能是/programming/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-line的副本