在手册页中突出显示当前搜索匹配

Leo*_*rdo 6 man search highlighting

例如man chmod,当我打开手册页并/在页面中搜索字符串时,我可以看到所有匹配的字符串都突出显示。

nN将关注下一个/上一个匹配字符串。

有没有办法以不同的方式突出显示当前匹配项(具有焦点的匹配项)与所有匹配字符串?

gee*_*eya 7

这是通过MANPAGER.

Manual pages默认为pagerless -is

您可以突出显示当前选择:

man -P "less -isg" <command>
Run Code Online (Sandbox Code Playgroud)

或者设置MANPAGER变量:

export MANPAGER="less -isg"
Run Code Online (Sandbox Code Playgroud)

您还可以使用vim光标突出显示的位置,以便当前选择的显示有所不同。:

 man -P "sh -c \"col -b | vim -c 'set ft=man ts=8 nomod nolist nonu' \
    -c 'nnoremap i <nop>' \
    -c 'nnoremap <Space> <C-f>' \
    -c 'noremap q :quit<CR>' -\"" <command>
Run Code Online (Sandbox Code Playgroud)

取自Zameer Manji

  1. ft=man 启用手册页的着色。
  2. ts=8 确保制表符的宽度匹配较少。
  3. nomod 在尝试退出时删除修改警告。
  4. nonu 删除行号。
  5. nolist 禁用列表字符,因此不会突出显示尾随空格和额外的选项卡。
  6. nnoremap i 确保我们在查看手册页时不会意外进入插入模式。

加上我自己的选项来使用空间进行分页和quit使用q

-c 'nnoremap <Space> <C-f>'
-c 'noremap q :quit<CR>'
Run Code Online (Sandbox Code Playgroud)

通过将其添加到您的默认配置文件,将其设置为您的默认寻呼机:

export MANPAGER="sh -c \"col -b | vim -c 'set ft=man ts=8 nomod nolist nonu' \
    -c 'nnoremap i <nop>' \
    -c 'nnoremap <Space> <C-f>' \
    -c 'noremap q :quit<CR>' -\""
Run Code Online (Sandbox Code Playgroud)