В Vim вы можете остановить изменение цвета символов пробела при включенной «Установить линию курсора»? - PullRequest
14 голосов
/ 24 ноября 2011

На этом снимке экрана Vim видно, что при наведении курсора на линию он меняет обычный цвет символов пробела (показан слева) с серого на черный. Могу ли я остановить это и оставить их всегда серыми, независимо от положения курсора?

enter image description here

Я пытался установить их в цветовую схему, но не повезло:

hi SpecialKey  guibg=bg  guifg=#CCCCCC gui=none
hi NonText     guibg=bg  guifg=#CCCCCC gui=none

Ответы [ 4 ]

3 голосов
/ 15 апреля 2013

Вы можете использовать :match, чтобы выделить вкладки.

:match NonText '^\s\+'

Кажется, что переопределяет линию курсора.Конечно, было бы лучше использовать matchadd(), но, похоже, он переопределяется линией курсора.Там может быть способ заставить его работать

1 голос
/ 10 августа 2017

Следующие строки в .vimrc устранили проблему для меня.

au VimEnter * call matchadd('SpecialKey', '^\s\+', -1)
au VimEnter * call matchadd('SpecialKey', '\s\+$', -1)

Переопределяет другие приложения стилей для вкладок и завершающих пробелов внутри строки курсора.

0 голосов
/ 01 апреля 2014

Я полагаю, у вас установлена ​​'курсорная линия'.Группа выделения CursorLine определяет основные моменты для того же самого.Либо вы set nocursorline (что может ускорить движение линий), либо измените CursorLine группы подсветки для цветов.

0 голосов
/ 24 ноября 2011

Да, вы можете. От :help listchars (в конце):

Подсветка «NonText» будет использоваться для «eol», «extends» и «предшествует». «SpecialKey» для «nbsp», «tab» и «trail».

С этим знанием вы можете соответственно изменить свою цветовую схему или добавить вызов highlight в вашем vimrc.

...