Realce a correspondência de pesquisa atual nas man pages

5

Quando abro uma página man, por exemplo, man chmod e alcanço / para pesquisar uma string na página, posso ver todas as strings correspondentes destacadas.

Pressionar n ou N se concentrará na próxima seqüência de correspondência anterior.

Existe uma maneira de destacar a correspondência atual (aquela com o foco) de maneira diferente de todas as strings correspondentes?

    
por Leonardo 28.10.2014 / 11:02

1 resposta

5

Isso é controlado via MANPAGER .

Manual pages padrão é o pager de less -is .

Você pode apenas destacar a seleção atual:

man -P "less -isg" <command>

Ou defina a variável MANPAGER :

export MANPAGER="less -isg"

Você também pode usar vim onde o cursor está realçado, então a seleção atual será diferente.

 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>

Retirado de Zameer Manji :

  1. ft=man enables the coloring of the man page.
  2. ts=8 ensures the width of tab characters matches less.
  3. nomod removes the modification warning when trying to quit.
  4. nonu removes line numbers.
  5. nolist disables listchars so trailing whitespace and extra tabs are not highlighted.
  6. nnoremap i ensures that we do not accidentally enter insert mode when viewing the man page.

Além disso, minha própria opção para usar espaço para paginar e quit com q :

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

Defina como pager padrão, adicionando-o ao seu perfil padrão:

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>' -\""
    
por 28.10.2014 / 11:39