如何跳转到 Unix 联机帮助页中的特定标志?

dot*_*hen 26 linux unix man

在终端中阅读 Unix 联机帮助页时,如何轻松跳转到特定标志的描述?

举例来说,我需要知道的含义-o标志mount。我跑man mount,想跳到-o描述的地方。目前,我搜索/-o但是在实际描述它的部分之前的几个地方提到了这个选项,所以我必须跳很多。

谢谢。

ako*_*nov 29

我所做的是在标志前面放几个空格,如下所示:

/     -o
Run Code Online (Sandbox Code Playgroud)

这不是 100% 可靠,但您跳过的次数要少得多。如果您想要更高的成功率,请尝试"/^ +-o"。这将找到以空格开头并后跟 -o 的行。不过,我不想经常输入那个奇怪的字符串。


小智 15

我已经在我的 .bashrc

function manswitch () { man $1 | less -p "^ +$2"; }
Run Code Online (Sandbox Code Playgroud)

您可以按如下方式使用

manswitch grep -r
Run Code Online (Sandbox Code Playgroud)

我是从这个 commandlinefu得到的。

注意:-pswitch of的参数less是一个正则表达式,告诉 less 查找以 ( ^) 一个或多个空格 ( +) 开头的行,然后是 switch (第二个参数。so $2),因此它具有使用不同格式的优点。


rus*_*ush 5

您也可以从命令行打开特定位置的手册页

man -P 'less -p "     -o"' mount
Run Code Online (Sandbox Code Playgroud)


Jor*_*eña 5

@piccobello 的答案很棒,但它占用了我手册页中的颜色。我没有通过管道传递到less(因为通常默认情况下man已经使用),而是将修改后的命令传递给:lesslessman

function manswitch() { man -P "less -p \"^ +$2\"" $1 }
Run Code Online (Sandbox Code Playgroud)

这保留了 @piccobello 在其函数中的功能,但保留了颜色。