Используя концепцию кода ниже в VIM Как сделать вкладки светло-серым фоном и пробелами синим фоном
" part of ~/.vimrc
" highlight tabs and trailing spaces
set listchars=tab:>-,trail:-
set list
Используя концепцию кода ниже в VIM Как сделать вкладки светло-серым фоном и пробелами синим фоном
" part of ~/.vimrc
" highlight tabs and trailing spaces
set listchars=tab:>-,trail:-
set list
Если вы используете эти параметры в своем ~/.vimrc
, вы наверняка прочитали :help 'list'
и :help 'listchars'
, но из вашего вопроса это не совсем понятно, если вы заметили последние две строки :help 'listchars'
:
The "NonText" highlighting will be used for "eol", "extends" and
"precedes". "SpecialKey" for "nbsp", "tab" and "trail".
Вкладки и конечные пробелы используют одну и ту же группу подсветки, поэтому вы не сможете дать им разные цвета фона с этими группами выделения. Но вам не нужны разные цвета, потому что вы уже установили их для представления разными символами.
Вы не можете, по крайней мере, не так просто, что на 100% правильно.
Как сказал @romainl, Vim предлагает только одну выделенную группу для всех типов listchar, представляющих символы, а именно: SpecialKey
.
Обходная реализация @Kent имеет несколько недостатков:
:autocmd
, чтобы определить его для новых окон.'list'
установлено; привязка к его изменениям напрямую не возможна.:match
; это можно предотвратить с помощью matchadd()
, но его использование более сложное.Итак, подумайте, действительно ли эта функция стоит того.
это один из способов:
сначала создайте две hi-группы:
:hi GroupA ctermbg=blue ctermfg=.. guibg=...
:hi GroupB ctermbg=gray ctermfg=.. guibg=..
затем
:match GroupA / \+$/
:2match GroupB /\t/