![在手册页中突出显示当前搜索匹配项](https://linux22.com/image/58371/%E5%9C%A8%E6%89%8B%E5%86%8C%E9%A1%B5%E4%B8%AD%E7%AA%81%E5%87%BA%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E6%90%9C%E7%B4%A2%E5%8C%B9%E9%85%8D%E9%A1%B9.png)
例如,当我打开一个手册页man chmod
并/
在页面中搜索字符串时,我可以看到所有匹配的字符串突出显示。
按n
或N
将聚焦于下一个/上一个匹配字符串。
有没有办法以不同于所有匹配字符串的方式突出显示当前匹配项(具有焦点的匹配项)?
答案1
这是通过 控制的MANPAGER
。
Manual pages
默认为pager
的less -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>
取自扎米尔·曼吉:
- ft=man 启用手册页的着色。
- ts=8 确保制表符的宽度匹配较少。
- nomod 会在尝试退出时删除修改警告。
- nonu 删除行号。
- nolist 禁用 listchars,因此尾随空格和额外的制表符不会突出显示。
- 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>' -\""