Пробелы под курсором в vim - PullRequest
3 голосов
/ 20 апреля 2010

Я недавно видел это демо . Мой вопрос: как можно в vim показывать пробельные символы под курсором в виде точек (например, красным).

Ответы [ 2 ]

10 голосов
/ 20 апреля 2010

Я не думаю, что это показывает пространство под курсором; Я думаю, что это показывает пробелы. Это контролируется параметром listchars, который управляет поведением list. Чтобы включить его, используйте:

set list
set listchars=trail:·

Цвет определяется группой hl-SpecialKey; Вы можете изменить это так:

hi SpecialKey ctermfg=Red
1 голос
/ 02 мая 2010

Выделите пробел до и после курсора

highlight FooBar guibg=#80a0ff
au CursorMoved * :match FooBar /\s*\%#.\s*/

Это работает в обычном режиме с gvim. Чтобы это работало в терминале, vim измените guibg на ctermbg. Если вы хотите, чтобы он также находился в режиме вставки, измените au CursorMoved на

au CursorMoved,CursorMovedI,InsertEnter

Хотя в этом случае вам потребуется настроить регулярное выражение, поскольку оно совпадает с ошибочно непропущенными символами справа от курсора при входе в режим вставки.

В регулярном выражении \% # соответствует текущей позиции курсора. Мне пришлось использовать . после него, так как без него не будет совпадать с пробелом справа от курсора.

...