当我这样做时,man zshbuiltins
我通常想要搜索命令。
假设我正在寻找有关该alias
命令的信息。我收到一大段文字,例如:
: [ arg ... ]
This command does nothing, although normal argument expansions
is performed which may have effects on shell parameters. A zero
exit status is returned.
alias [ {+|-}gmrsL ] [ name[=value] ... ]
For each name with a corresponding value, define an alias with
that value. A trailing space in value causes the next word to
be checked for alias expansion. If the -g flag is present,
define a global alias; global aliases are expanded even if they
do not occur in command position.
我希望能够直接跳到alias
这个可怕的整体联机帮助页的部分。
我正在尝试专门搜索它是该行第一个单词的情况。但是,以下所有表达式都表示“未找到模式”:
^alias
^\W*alias
^\s*alias
^[\W\s]*alias
alias
当且仅当它是该行的第一个单词时如何匹配?或者有更好的方法直接跳转到命令吗?我思考我的默认寻呼机是 Less(我如何检查它?)。另外,我还使用 Zsh 以防不明显。
答案1
一种选择是使用前缀空格进行搜索,例如:/ alias
,其中“alias”一词之前有两个空格,以防止“alias”作为另一个句子的一部分出现时出现误报匹配。/^ alias
例如,如果您确切知道有多少个空格,您还可以将匹配项放在行的开头。
但是,您的表达式失败了,因为 Less 搜索不使用速记字符类。^[^[:alpha]]*alias
应该可以(但两个空格更容易)。