有时我需要在所有手册页中查找某些单词。我知道apropos
,但如果我正确理解其手册,它会将搜索仅限于描述。
每个手册页中都有一个简短的说明。 apropos 在描述中搜索关键字实例。
例如,如果我查找像“viminfo”这样的单词,我根本找不到任何结果......
$ apropos viminfo
viminfo: nothing appropriate.
...虽然这个词存在于 Vim 手册的后面部分(它安装在我的系统上)。
-i {viminfo} When using the viminfo file is enabled, this option sets the filename to use, instead of the default "~/.vim‐ info". This can also be used to skip the use of the .viminfo file, by giving the name "NONE".
那么我怎样才能在每本手册的每个部分中查找单词呢?
答案1
从man man
:
-K, --global-apropos
Search for text in all manual pages. This is a brute-force
search, and is likely to take some time; if you can, you should
specify a section to reduce the number of pages that need to be
searched. Search terms may be simple strings (the default), or
regular expressions if the --regex option is used.
这会直接为我打开手册页(vim
、then ex
、then 、...),因此您可以添加另一个选项,例如了解将显示哪个手册页。gview
-w
$ man -wK viminfo
/usr/share/man/man1/vim.1.gz
/usr/share/man/man1/vim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/run-one.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/run-one.1.gz
/usr/share/man/man1/run-one.1.gz
...
答案2
使用 中的全局 apropos 选项man
。
-K, --global-apropos
Search for text in all manual pages. This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number of pages that need to be searched. Search terms may be simple strings (the default), or regular expressions if the --regex option is used.
所以,man -K viminfo
会给你你需要的页面。
答案3
NetBSD
有一个全文搜索实现,apropos(1)
它可以搜索手册页的完整内容,而不是仅限于该NAME
部分。您可能想检查一下。
它还有一个基于网络的界面:man-k.org
免责声明:我是这两个工具的开发人员。
答案4
$ man -K "fopen"
给你输出
/usr/share/man/en/man3/fclose.3.gz? [ynq]
y
打开/显示手册页
n
继续搜索
q
退出搜索