我发现自己<command> --help | grep <feature>
每天都在做非常非常频繁的事情。我想知道是否有可能使类似的东西^^
扩展到"--help | grep"
然后我这样做:
ls ^^ size
这将执行以下操作:
ls --help | grep size
我发现自己<command> --help | grep <feature>
每天都在做非常非常频繁的事情。我想知道是否有可能使类似的东西^^
扩展到"--help | grep"
然后我这样做:
ls ^^ size
这将执行以下操作:
ls --help | grep size
您可以为此使用 bash 函数:
将以下内容放入您的 ~/.bashrc 中:
当您保存您的
bashrc
操作时source ~/.bashrc
,您可以执行以下操作:使用
zsh
,您将使用全局别名:使用
bash
,您可以使用历史扩展,这是在 shell 语法解析中足够早发生的一种,它可以用于替换管道:使用您想要替换的文本和您不太可能使用的特殊字符来填充历史记录(就像
£
我的键盘上碰巧出现的这里一样):然后使用历史扩展来检索:
或者你可以
readline
扩展--help|grep
一些按键或按键序列。对于bash
仅适用于(而不是其他应用程序,如gdb
使用 readline),您可以使用bind
bash 内置命令,它是bash
配置的 APIreadline
,例如在您的~/.bashrc
:或添加到您的
~/.inputrc
(readline 的配置文件):(还有其他类似
rc
或es
使用 readline 的 shell,并且在哪里进行该绑定可能有意义但 AFAICT,它们rl_readline_name
在调用之前不会设置变量,readline
因此您将无法$if
为它们添加一些语句(它们会other
像所有应用程序一样显示使用 readline 而不告诉它他们的应用程序名称))。请注意,您需要
^
在第一个之后的半秒内(默认情况下)输入第二个才能进行替换。您可以使用 readline 绑定:
添加一行
到你的 ~/.inputrc
然后在你的任期内按^X ^R,绑定将被激活。
键控
ls ^^
现在将导致ls --help | grep
.用于
less
查看帮助信息您可能会发现查看与您的搜索查询匹配的行的周围上下文很有用。
调用此
bash
函数的语法类似于qh
@tgwtdt 答案中的函数,第一个参数是要检查的命令,第二个参数是搜索词。例如:这将在 中打开完整的帮助消息
less
,突出显示搜索词的每个实例,并滚动到搜索词的第一个实例。然后,您可以按n
向前滚动到包含搜索词的下一行,n
再次滚动到下一行,依此类推。要滚动回上一个实例,请按N
。使用Home
、End
、Page Up
、Page Down
、Up Arrow
和Down Arrow
键进行一般导航。按q
或Q
退出less
并返回命令行。我喜欢@tgwtdt 的解决方案,所以我对其进行了一些改进。
这做同样的事情,但做了一点处理错误并尝试处理内置函数。
qh 使用 () 而不是 {} 所以 qh1() 和 out 是本地的(在子shell中)。