例如,当我打开一个手册页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>' -\""