'man ascii' está desalinhado ao usar o vim como um pager

3

Para usar o Vim como um pager para o homem que eu tenho

export MANPAGER="/usr/share/vim/vim73/macros/manpager.sh"

no meu perfil. Agora as páginas man parecem muito boas com cores e outras coisas. No entanto, ao tentar man ascii como uma maneira de ver a tabela ASCII, percebo que a tabela está desalinhada como na imagem abaixo:

Esteproblemanãoacontececomopagerpadrão.QuandoeudefinoexportMANPAGER="view -" , a tabela também está correta, então algo deve estar errado com o script manpager.sh :

#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -b | \
vim \
    -c 'let no_plugin_maps = 1' \
    -c 'set nolist nomod ft=man' \
    -c 'let g:showmarks_enable=0' \
    -c 'runtime! macros/less.vim' -

Como posso corrigir isso?

    
por phunehehe 19.02.2011 / 15:46

1 resposta

5

Quando tento com o seguinte script, as coisas são normais:

#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | \
vim \
    -c 'let no_plugin_maps = 1' \
    -c 'set nolist nomod ft=man' \
    -c 'let g:showmarks_enable=0' \
    -c 'runtime! macros/less.vim' -

Não sei qual é a função col na sequência, mas isso certamente está bagunçando os espaços. Até que alguém dê uma solução melhor, esta será minha correção.

Editar : então col foi o problema porque "substitui os caracteres de espaço em branco por guias quando possível". Para corrigir isso, informe col para usar espaços em vez de guias com a opção -x . A configuração final é a seguinte (com crédito para Gilles).

#!/bin/sh
sed -e 's/\x1B\[[[:digit:]]\+m//g' | col -bx | \
vim \
    -c 'let no_plugin_maps = 1' \
    -c 'set nolist nomod ft=man' \
    -c 'let g:showmarks_enable=0' \
    -c 'runtime! macros/less.vim' -
    
por 19.02.2011 / 16:12

Tags