Vim: показать перевод строки и возврат каретки

Как я могу отображать перевод строки и / или символы возврата каретки в vi/vim?

я знаю это set list показывает все пробельные символы (?), он также заменяет табуляцию \t и т. д. (но это не то, что я хочу). По сути, я просто хочу отображать определенные символы, такие как \ r (в Debian это, по-видимому, значение по умолчанию, однако в Gentoo оно отличается).

С уважением

3 ответа

Решение

В последних версиях Vim есть настройка 'listchars', которая позволяет указать, какие символы следует использовать для символов EOL и TAB, а также для конечных пробелов.

Вы могли бы:

set listchars=eol:$,tab:\[SPACE]\[SPACE]

... специально для отображения символов eol без свертывания вкладок (введите пробел, а не [,S,P,A,...).

Я ничего не знаю конкретно о возвращаемых символах в настройке "listchars", но я подозреваю, что для этого вы можете использовать подсветку синтаксиса. Я думаю, что по умолчанию отображение символов \r - показывать их с подсветкой SpecialKey.

Поэтому выделенная по умолчанию специальная клавиша подсветки символов \r в сочетании с настройкой 'listchars', как указано выше, должна быть близка к той, которая вам нужна.

:highlight SpecialKey ctermfg=5

... если вы любите пурпурный.

Возобновлять DOSтекстовый файл в UNIX formart:

:e ++ff=unix

ты увидишь ^M(\r) в конце строки.
если вы хотите показать ^M в шестнадцатеричном виде:

:set dy=uhex

Добавьте следующую строку в ваш .vimrc файл:

set fileformats=unix

Это заставляет vim изначально поддерживать только файлы в стиле Unix. Для окончаний строк не в стиле Unix символ возврата каретки \r будет отображаться явно в Vim как ^M,

Другие вопросы по тегам