Как я могу сделать ВИМ показать пробелы?

в настоящее время я пытаюсь переключиться с gedit на vim. Я пытаюсь сделать vim похожим на gedit:

gedit

особенно, я хотел бы показать пробелы с точками.

в настоящее время у меня есть:

enter image description here

есть некоторые различия, но он выглядит довольно похожим (это мой нынешний .файл vimrc). Но я не понимаю эти точки для пробелов.

как я могу сделать Vim показать пространств?

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

5 ответов


TLDR: вы не можете.

Vim предоставляет 'listchars' возможность отображения табуляции против пробела и пробелов в критических местах, т. е. трейлинга в конце строк. Он не предлагает модификацию для все пробелы: пустой квадрат-это пробел, точка.

Если вас не устраивают обходные пути, опубликованные в указанном вопросе, нет никакого способа достичь этого, кроме изменения исходного кода Vim и компиляции собственного двоичного файла.


Я знаю, что это старая тема, но возможно с:

set lcs+=space:·

работает на моем Gvim 7.4.


возможно, стоит использовать undercurl для выполнения работы.

hi WhiteSpaces gui=undercurl guifg=LightGray
match WhiteSpaces / \+/

или вы можете поместить это в ваш .vimrc

autocmd ColorScheme * highlight WhiteSpaces gui=undercurl guifg=LightGray | match WhiteSpaces / \+/ 

enter image description here


хотя вы не можете сделать именно то, что хотите здесь, Если ваши рассуждения похожи на мои, вы хотите увидеть эти пробелы, потому что это помогает проверить правильность отступа (у меня есть 2 места там, или это 3?). Для Vim >= 7.3, вы можете использовать indentLine плагин для добавления маркера на каждый отступ. Это потрясающе.

установить, если вы используете возбудитель:

cd ~/.vim/bundle
git clone https://github.com/Yggdroot/indentLine

enter image description here


бывают моменты, когда мне абсолютно необходимо увидеть, какие пробелы являются вкладками, а какие-истинными пробелами, а также когда пробелы появляются в конце строки.

когда я использую vim, Я:

:set list

(который я могу отключить с помощью :set nolist)

С :set list, литеральные пробелы отображаются как пробелы, вкладки отображаются как ^I, и конец строки отображается как ярко-розовый $. (Поэтому любой пробел вы видите слева от розовый $ вы узнаете, что это истинный символ пробела, а пробелы справа от него-это просто "ничего" между концом строки и правой стороной редактора.)

это уродливо, но работает хорошо.

Я не рекомендую использовать его все время-только те времена, когда важно видеть, где существуют литеральные пробелы и литеральные символы табуляции.