Usando o conceito do código abaixo no VIM Como faço para deixar as guias em um fundo cinza claro e os espaços em um fundo azul
" part of ~/.vimrc
" highlight tabs and trailing spaces
set listchars=tab:>-,trail:-
set list
Respostas:
18 para resposta № 1Se você usar essas opções em seu ~/.vimrc
você certamente leu :help "list"
e :help "listchars"
mas, pela sua pergunta, não está muito claro se você identificou as duas últimas linhas :help "listchars"
:
The "NonText" highlighting will be used for "eol", "extends" and
"precedes". "SpecialKey" for "nbsp", "tab" and "trail".
Tabs e espaços finais usam o mesmo destaqueentretanto, você não poderá dar a eles cores de fundo diferentes com esses grupos de realce. Mas você realmente não precisa de cores diferentes, aqui, porque você já as configurou para serem representadas por personagens diferentes.
5 para resposta № 2
Você não pode, pelo menos não de uma maneira fácil que seja 100% correta.
Como @romainl disse, o Vim só oferece um grupo de destaque para todos os tipos de listchar representando personagens, viz. SpecialKey
.
A implementação de solução alternativa do @Kent tem várias deficiências:
- Funciona apenas para a primeira janela / janela atual; você "precisaria
:autocmd
s para defini-lo também para novas janelas. - Não considera se
"list"
está realmente definido; enganchar em suas mudanças não é diretamente possível. - Ele derruba o
:match
slots; isso pode ser evitado por meio dematchadd()
, mas seu uso é mais complexo.
Portanto, pense bem se esse recurso realmente vale a pena.
4 para resposta № 3
esta é uma maneira:
primeiro crie dois hi-groups:
:hi GroupA ctermbg=blue ctermfg=.. guibg=...
:hi GroupB ctermbg=gray ctermfg=.. guibg=..
então
:match GroupA / +$/
:2match GroupB /t/