Vim: показати канали ліній і повернення вагона


34

Як я можу відображати канали рядків та / або символи повернення каретки в vi / vim?

Я знаю, що set listпоказує всі символи пробілу (?), Він також замінює вкладки \ t тощо (але це не те, що я хочу). В основному я просто хочу відобразити певні символи, такі як \ r (у Debian це здається за замовчуванням, однак у Gentoo це інакше).

З повагою

Відповіді:


16

В останніх версіях Vim є налаштування "listchars", яке дозволяє визначати, які символи слід використовувати для символів EOL та TAB та для пробілів.

Ти міг:

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

... для відображення Eol символів Спеціально не осідаючи вкладки (тип пробіл, а НЕ [, S, P, A, ...).

Я нічого не знаю конкретно про символи повернення в налаштуваннях 'listchars', але я підозрюю, що ви можете використовувати для цього виділення синтаксису. Я думаю, що за замовчуванням відображення символів - це їх відображення з підсвічуванням SpecialKey.

Тож виділення символів SpecialKey за замовчуванням у поєднанні із встановленням 'listchars', як зазначено вище, має бути близьким до того, що вам потрібно.

:highlight SpecialKey ctermfg=5

... якщо ти любиш пурпуровий.


Спасибі, listcharsвже допомогли. Ви б не хотіли пояснити мені, як користуватися SpecialKey? Я не можу знайти жодної корисної інформації, vimdoc.sourceforge.net/htmldoc/syntax.html#hl-SpecialKey теж не дуже допомогла.
watain

SpecialKey - це вбудована мітка виділення синтаксису для будь-яких символів, які відображаються "спеціально": контрольні символи тощо. Якщо ви введете ": виділити SpecialKey", це покаже вам, як відображатимуться ці символи.
njd

Коли я намагаюся set listcharsя отримую наступне повідомлення про помилку: E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. Я використовую MacVim 8.0.596 (133)
Eliot

22

знову відкрити DOSсформований текстовий файл у UNIXформаті:

:e ++ff=unix

ви побачите ^M(\ r) в кінці рядка.
якщо ви хочете відобразити ^Mу шістнадцятковій формі:

:set dy=uhex

5

Додайте у .vimrcфайл наступний рядок :

set fileformats=unix

Це змушує vim підтримувати лише файли у стилі unix. Для рядкових закінчень у стилі UNIX, символ повернення каретки \rбуде явно відображатися у vim як ^M.


На жаль, він також не відображає символу каналу рядка.
jpaugh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.