Quando trabalho em arquivos em python, às vezes confundo abas por espaços e vice-versa. Existe uma maneira de conseguir que o Vim exiba um caractere para uma guia em vez de uma guia?
119
Quando trabalho em arquivos em python, às vezes confundo abas por espaços e vice-versa. Existe uma maneira de conseguir que o Vim exiba um caractere para uma guia em vez de uma guia?
retab
sempre que salvar o arquivo.:h vim-faq
e pesquisar/invisible
. A tag difícil de memorizar é:h faq-19.8
.Respostas:
Sim, use listchars:
Se você colocar essas duas linhas em seu .vimrc, as guias serão mostradas como
>
na posição inicial e-
no restante da guia.(Sidenote: listchars também pode mostrar espaços à direita com
trail:x
(substituax
pelo caractere que você deseja usar para um espaço à direita), o que também pode ser útil.)fonte
set listchars=tab:!·,trail:·
, o IMHO·
é muito mais claro do que um-
... Você precisa de uma versão bastante recente do Vim para que isso funcione (não tenho certeza qual exatamente, acho que 7.3.x) ...▸
, pois é um pouco menor que>
. Atualmente, vejo espaços em branco marcando o eol (embora eu possa tentar o acima). Minhas configurações são:set listchars=eol:¬,tab:▸\
eA resposta básica é
:set list
, o que faz com que as guias sejam exibidas como^I
.No entanto, eu recomendo ir além disso. Just
:set list
é problemático, pois falha em preservar o alinhamento visual na tela. Por exemplo:não parece bom, especialmente quando você espera que o
g
dosg++
que aparecem sob o primeirop
decpp
(supondotabstop=8
).Portanto, sugiro que
.vimrc
você coloque algo como:set listchars=tab:␉·
(Para ser claro, esse é o caractere Unicode U + 2409 SÍMBOLO PARA TABULAÇÃO HORIZONTAL seguido de U + 00B7 MIDDLE DOT .)Conforme explicado em
:help listchars
, uma configuração de dois caracteres paratab:xy
preservar o alinhamento visual:O exemplo acima apareceria na tela como:
Pessoalmente, eu concordo com o meu
listchars
:eol
, eu uso o SÍMBOLO DE RETORNO U + 23CEtrail
, eu uso o U + 2420 SYMBOL FOR SPACEnbsp
, eu uso o SUPORTE QUADRADO INFERIOR U + 23B5Esses caracteres são distintos o suficiente para que raramente apareçam literalmente no texto do documento.
Para digitar esses caracteres especiais no seu
vimrc
, digite Ctrl-vu23CE
enquanto estiver no Modo Inserir, conforme explicado em:help utf-8-typing
.fonte
set lcs=tab:├─
Guias de destaque
TabDestaque temporário
Para uso ocasional, pode-se simplesmente destacar todas as guias em um documento usando o seguinte
/
comando de pesquisa :Para remover o realce, basta digitar o
:noh
que significa abreviação:nohlsearch
- sem iluminação alta.TabDestaque permanente
Mais destaque
Para obter mais desses comandos úteis de destaque - incluindo combinados com espaços em branco à direita e tornando isso permanente - consulte o wiki do Vim .
fonte
:match Error /\t/
para destacar guias (ou qualquer outro padrão) independentemente do registro de pesquisa e hlsearch (digite:match
para limpá-lo).Pessoalmente, gosto do uso do plugin indentLine , que exibe uma linha vertical nos níveis de indentação.
É de grande ajuda, especialmente em python, onde o recuo é importante.
Entre outras coisas, fornece um comando de alternância, que pode ser mapeado para uma combinação de teclas, para que você possa desativá-lo quando não precisar.
fonte
Você pode mostrar abas de maneira diferente em um terminal comum e no gvim.
(Adicionando a integridade, caso outros achem útil).
fonte
O método mais fácil é o de fazer
:set list
, que mostrará as guias como^I
e o fim da linha como$
.Eu gosto de usar um mapeamento que chama
para alternar entre exibição regular e exibição de lista.
Por exemplo:
Isso me permite verificar rapidamente se há problemas de tabulação versus espaço e voltar a uma exibição regular.
fonte