例如:ssh_config
我在vim中为此设置了一个文件types。 我想要帮助程序
man
当然,这是行不通的,如果我一个字就说
ServerAliveCountMax
我得到一个错误,因为ServerAliveCountMax没有man pager,它在ssh_config的man页面中。
有没有办法从命令行跳转到一个string,或者在人的内部运行某种types的命令? 其实很像信息:
info screen Miscellaneous
将带我到屏幕信息页的杂项部分。
这与男人可能吗? 即使运行search将服务…
编辑:我正在使用OSX 10.6.5。 用默认的man(/ usr / bin / man)
编辑:我说一点方言;),所以我被引导到正确的答案:
man -P 'less -p PATTERN' ssh_config
是在OSX / * BSD上的调用看起来。
从GNU man的命令行:
man --pager='less -p ^ENVIRONMENT' man
或BSD的man :
man -P 'less -p ^ENVIRONMENT' man
将跳转到man页面的“ENVIRONMENT”标题。
这是一个方便的function:
mans () { # Bash local pages string if [[ -n $2 ]] then pages=(${@:2}) string="$1" else pages=$1 fi # GNU man man ${2:+--pager="less -p \"$string\" -G"} ${pages[@]} # BSD man # man ${2:+-P "less -p \"$string\" -G"} ${pages[@]} }
例子:
正常使用:
mans bash
转到“描述”标题:
mans ^DESCRIPTION bash
转到每个手册页的“DESCRIPTION”标题(按q和Enter转到下一个):
mans ^DESCRIPTION bash ksh zsh
转到“参数扩展”子标题(您可以使用正则expression式search任何string):
mans '^ *Parameter Expansion' bash
search您在Less中使用的最近的正则expression式:
mans '' bash
您search的匹配不会突出显示。 如果你更喜欢它,只要将-G从选项中移除到less 。
这个函数不会尝试处理man支持的其他参数和选项。
在男人你可以键入/后跟一个模式来匹配,例如find你将键入屏幕手册页的DEFAULT KEY BINDINGS部分
/^DEFAULT KEY BINDINGS
我使用一个简单的技巧,在手册页的各个部分之间跳转相对较快:我按/^[AZ] ,然后我可以按n和N来前后跳。
search正则expression式利用典型手册页的基本结构 – 主要部分用大写字母表示,它们开始一行,没有缩进,因此它们应该出现在行首。
/在less会做一个向前search,和? 会做一个反向search。 按h查看完整列表。