Как я могу отображать перевод строки и / или символы возврата каретки в vi / vim?
Я знаю, что set listпоказывает все пробельные символы (?), Он также заменяет вкладки \ t и т. Д. (Но это не то, что я хочу). По сути, я просто хочу отображать определенные символы, такие как \ r (в Debian это, по-видимому, значение по умолчанию, однако в Gentoo оно отличается).
В последних версиях Vim есть настройка 'listchars', которая позволяет указать, какие символы следует использовать для символов EOL и TAB, а также для конечных пробелов.
Ты мог бы:
set listchars=eol:$,tab:\[SPACE]\[SPACE]
... для отображения Eol символов специально не оседая вкладки (тип пробел, а не [, S, P, A, ...).
Я ничего не знаю конкретно о возвращаемых символах в настройке «listchars», но я подозреваю, что для этого вы можете использовать подсветку синтаксиса. Я думаю, что по умолчанию отображение символов \ r - показывать их с подсветкой SpecialKey.
Поэтому выделенная по умолчанию специальная клавиша подсветки символов \ r в сочетании с настройкой 'listchars', как указано выше, должна быть близка к той, которая вам нужна.
SpecialKey - это встроенная метка подсветки синтаксиса для любых символов, которые отображаются «специально»: управляющие символы и тому подобное. Если вы наберете ": highlight SpecialKey", это скажет вам, как будут отображаться эти символы.
2010 года
Когда я пытаюсь set listcharsя получаю следующее сообщение об ошибке: E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. Я использую MacVim 8.0.596 (133)
Элиот
22
заново открыть DOSтекстовый файл в UNIXформате formart:
:e ++ff=unix
вы увидите ^M(\ r) в конце строки.
если вы хотите отобразить ^Mв шестнадцатеричном виде:
Это заставляет vim изначально поддерживать только файлы в стиле Unix. Для концов строк не в стиле Unix символ возврата каретки \rбудет отображаться явно в vim как ^M.
listchars
уже помогло. Не могли бы вы объяснить мне, как использоватьSpecialKey
? Я не могу найти какую-либо полезную информацию, vimdoc.sourceforge.net/htmldoc/syntax.html#hl-SpecialKey тоже мало чем помог.set listchars
я получаю следующее сообщение об ошибке:E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]
. Я использую MacVim 8.0.596 (133)заново открыть
DOS
текстовый файл вUNIX
формате formart:вы увидите
^M
(\ r) в конце строки.если вы хотите отобразить
^M
в шестнадцатеричном виде:источник
Добавьте следующую строку в ваш
.vimrc
файл:Это заставляет vim изначально поддерживать только файлы в стиле Unix. Для концов строк не в стиле Unix символ возврата каретки
\r
будет отображаться явно в vim как^M
.источник