Mostrar a guia de listchars como espaços

14

Uso liste listcharspara mostrar meu espaço em branco, mas o estilo de código ao qual adiro usa guias. Ver >ou ^Ipara todas as minhas guias é nauseante.

Como manteria todos os meus caracteres da lista existentes, mas com um caractere de tabulação em branco?

Qix - MONICA FOI ERRADA
fonte
2
Observe que definir um espaço como uma guia significa que você não será capaz de distinguir espaços e guias ou ver guias em outros lugares (como dentro de uma string, final da linha). Isso meio que derrota o propósito de set list;-) Algum outro personagem (menor) que você pode tentar: ·(MIDDLE DOT), (OPEN BOX) ou (SUBSCRIPT MINUS). (Eu pessoalmente uso set listchars=tab:!·:).
Martin Tournoij 13/08/2015
@Carpetsmoker correto. É por isso que tenho um linter. :) O ponto de exclamação pode não ser tão ruim, suponho que eu possa brincar com eles.
Qix - MONICA FOI ERRADA
1
Como uma observação digna, na verdade, acabei usando uma pequena seta para minhas guias. Não é tão intrusivo.
Qix - MONICA FOI ERRADA EM 29/03

Respostas:

23

'listchars'usa dois caracteres para tabque você possa simplesmente usar dois espaços regulares:

set listchars=tab:\ \ ,trail:·,eol:¬,nbsp:_
romainl
fonte
1
Não sabia que você poderia fazer \ , embora faça sentido, pois você pode pesquisar com eles ( /\ ). Eu estava tentando \s, ' 'etc.
Qix - MONICA FOI ERRADA EM
3

Acontece que espaços sem quebra funcionam muito bem.

De acordo com esta resposta , a sequência utf-8 é"\xc2\xa0" .

Desde que eu estou em um mac, eu simplesmente fiz echo -en "\xc2\xa0" | pbcopye os adicionei ao meu .vimrc :

set listchars=tab:[2p],...

onde [2p]colou a área de transferência duas vezes. O resultado acabou sendo

set listchars=tab:<nbsp><nbsp>,...

que causou corretamente as guias aparecerem como um espaço em branco simples.

Qix - MONICA FOI ERRADA
fonte
2
Isso é um monte de problemas quando você poderia fazer set listchars=tab:\ \ ,....
Romainl 13/08/2015
1
@romainl então responda :)
Qix - MONICA FOI