shell - Zsh 选项卡补全 : Is there any plugin or feature that can allow for a MRU tab-completion scheme?

标签 shell autocomplete terminal zsh tab-completion

我发现自己在做诸如键入命令名称的最后部分之类的事情,因为它的开头部分与其他命令一起完成。当然,大多数其他 shell 甚至还不能以这种方式完成任务。

无论如何,举个例子,我的 $PATH 中有一个名为 git-verbose-status 或类似名称的脚本。与许多其他以 git- 为前缀的一样。随着前缀命名空间的填充,区分它们变得越来越困难。 认为“git”真的很有意义,因为我出于某种原因命名了我的程序。

这让我开始思考。可以对已键入的字符串使用最近使用的排序以执行匹配。这应该比按字母顺序完成更有帮助,因为我相信它通常是这样做的。

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

最佳答案

我认为the history substring search做你想做的事;我已经设置了以下键绑定(bind)

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 也会匹配您历史中的完整命令行。

关于shell - Zsh 选项卡补全 : Is there any plugin or feature that can allow for a MRU tab-completion scheme?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16180712/

相关文章:

java - 在 Java 中获取命令行的响应

python - Zenity 与 iPython?

windows - 无法在终端窗口中输入

java - 对于 pulseaudio/pacmd/pactrl 命令,Intellij 终端的行为不同于 Ubuntu 终端

linux - 如何在 bash shell 中编写精美优雅的 linux 命令

shell - 递归函数shell脚本

ios - 使用 Swift 在 Apple iOS 开发中实现多标签自动完成文本字段

ruby-on-rails - 如何在 Rails 中自动完成 HABTM 管理?

c - 在终端中实现覆盖