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

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

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

nN将聚焦于下一个/上一个匹配字符串。

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

答案1

这是通过 控制的MANPAGER

Manual pages默认为pagerless -is

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

man -P "less -isg" <command>

或者设置MANPAGER变量:

export MANPAGER="less -isg"

您还可以使用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>

取自扎米尔·曼吉:

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

再加上我自己的选择,即使用空格进行分页并quit使用q

-c 'nnoremap <Space> <C-f>'
-c 'noremap q :quit<CR>'

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

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>' -\""

相关内容