3

我发现自己在做一些事情,比如键入命令名称的最后一部分,因为它的开头是由其他命令完成的。当然,大多数其他 shell 甚至还不能以这种方式完成东西。

无论如何,作为一个例子,我的$PATH调用中有一个脚本git-verbose-status或类似的东西。以及许多其他前缀为git-. 随着前缀命名空间的填充,区分它们变得越来越困难。考虑“git”真的很有意义,因为我命名我的程序是有原因的。

所以它让我思考。最近使用的排序可用于已键入的字符串以执行匹配。这应该比按字母顺序完成更有用,因为我相信它通常会完成。

它可能只是对命令历史记录的简单反向扫描。

4

1 回答 1

3

我认为历史子字符串搜索完全符合您的要求;我已经设置了以下键绑定

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也可以匹配历史记录中的完整命令行。

于 2013-04-26T09:02:04.267 回答