如何匹配联机帮助页中行的开头?

如何匹配联机帮助页中行的开头?

当我这样做时,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应该可以(但两个空格更容易)。

相关内容