/ / vim definir cor para tabulações e espaços de listchars - vim

vim set color para abas e espaços de listchars - vim

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 № 1

Se 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 :autocmds 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 de matchadd(), 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/