使用 stdout 的最后 N 个字节在 shell 中自动完成

使用 stdout 的最后 N 个字节在 shell 中自动完成

如果可以使用我刚刚在终端屏幕上使用 TAB 看到的单词来自动完成,我会发现它非常方便。最好是在 zsh 中。有什么办法可以管理吗?

例如

$ git 日志

...

$ < prefix> < TAB> // 现在循环遍历git log输出中与我的前缀匹配的内容

答案1

如果您愿意使用 iTerm2 而不是您当前使用的任何终端,它包含此功能。它需要 macOS 来运行终端,并且您可以启用iTerm2 shell 集成在您想要的主机上。 (这基本上为您的 shell 添加了一些与 iTerm2 通信的钩子。)

https://www.iterm2.com/features.html#autocompletetail有一个屏幕截图,显示了作为最佳完成候选者呈现的输出Command-;

iTerm2 项目是开源所以我想这个功能的核心内容可以被删除并包含在其他环境中或在其他环境中重新实现。

相关内容