Como exibir caracteres ocultos no vim?

39

Como posso configurar o vim para exibir caracteres ocultos como guias ou espaços SOMENTE enquanto esses caracteres são digitados? Eu não quero guias e / ou espaço substituído por caracteres especiais como ">" ou "_" quando o arquivo é escrito.

    
por dan0 01.11.2011 / 19:10

3 respostas

44

Você pode usar os comandos

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

para mostrar todos os caracteres que não são espaços em branco. Então os espaços são a única coisa que não aparece.

Se você realmente precisa de espaços para ser marcado também, você precisará tentar algo menos legal. Algo como

:%s/ /█/g

Substituirá todos os espaços por um caractere de bloco. Então você precisa desfazer isso antes de escrever. Você pode remapear seu comando de gravação do

cmap :w :%s/█/ /g<CR>:w

Apenas uma sugestão. Eu não tentei isso embora.

    
por Kris Harper 01.11.2011 / 20:09
4

Versões mais recentes do vim também podem mostrar espaços. (Confirmado no vim 7.4.1689).

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»
    
por wisbucky 08.06.2018 / 00:41
3

No meu caso eu tive que lutar contra nbsp ,

:set listchars=nbsp:☠,tab:▸␣
:set list

Você também pode usar ␣ ao invés de ☠

Aqui está um exemplo onde a configuração vim acima destaca os espaços "invisíveis" e, além disso, destaca as guias (cor vermelha porque eu estou usando o plugin vim de espaços em branco)

    
por Andrey Arapov 07.10.2015 / 09:47

Tags