我发现自己做的事情就像输入命令名的最后一部分一样,因为它的开头是用其他命令完成的。当然,大多数其他炮弹甚至无法以这种方式完成任何东西。
无论如何,作为一个例子,我在我的$PATH
中有一个名为git-verbose-status
的脚本或类似的东西。与许多其他前缀为git-
的人一起。然后,随着前缀命名空间的填充,区分它们变得越来越困难。 认为“git”真的很有意义,因为我将我的程序命名为一个原因。
所以它让我思考。最近使用的排序可以用于已经输入的字符串以执行匹配。这应该比按字母顺序完成更为有用,因为我认为它通常是完成的。
它可能只是对命令历史记录的简单反向扫描。
答案 0 :(得分:3)
我认为the history substring search完全符合您的要求;我已经设置了以下键绑定
bindkey '^[[A' up-line-or-search
bindkey '^[[B' down-line-or-search
bindkey '^P' up-line-or-search
bindkey '^N' down-line-or-search
这样我开始输入上一个命令的任何部分,按向上箭头或Ctrl-P并按照相反的顺序从我的历史记录中的任何地方获得与该书写部分匹配的命令 - 如您所述。
编辑:当然,如果您不想安装历史搜索插件,C-r
也会匹配您历史记录中的完整命令行。