Найти в Дзене
Блокнот математика

Рубрика "Секреты Вим". Скрытые символы

Привет, коллеги. В Вим можно посмотреть скрытые символы, прямо как в Ворде. Я не знал об этом и, когда надо было посмотреть, скажем, табы, включал поиск с подсветкой. Но есть встроенное средство, о котором и поговорим. Включается режим опцией-флагом list. Команды :set list и :set nolist, как обычно. По умолчанию вы увидите синенькие символы $ на концах строк. Можно настроить и остальные символы-невидимки. Опция listchars содержит через запятую любые элементы из: eol:c - символ с заменит конец строки. По умолчанию только этот элемент и там $, то есть eol:$ tab:xy - пара символов для изображения табуляции. Второй символ повторяется, то есть tab:>+ изобразит стандартную табуляцию как >+++++++. По умолчанию таб изображается как ^I space:c - символ для пробела. trail:c - символ для пробелов в конце строки - они могут отличаться от пробелов внутри строки. precedes:c - символ в начале видимой на экране части строки, если свертка отключена и слева есть текст. conceal:c - символ, замещающий скр

Привет, коллеги. В Вим можно посмотреть скрытые символы, прямо как в Ворде. Я не знал об этом и, когда надо было посмотреть, скажем, табы, включал поиск с подсветкой. Но есть встроенное средство, о котором и поговорим.

Включается режим опцией-флагом list. Команды :set list и :set nolist, как обычно. По умолчанию вы увидите синенькие символы $ на концах строк.

Можно настроить и остальные символы-невидимки. Опция listchars содержит через запятую любые элементы из:

eol:c - символ с заменит конец строки. По умолчанию только этот элемент и там $, то есть eol:$

tab:xy - пара символов для изображения табуляции. Второй символ повторяется, то есть tab:>+ изобразит стандартную табуляцию как >+++++++. По умолчанию таб изображается как ^I

space:c - символ для пробела.

trail:c - символ для пробелов в конце строки - они могут отличаться от пробелов внутри строки.

precedes:c - символ в начале видимой на экране части строки, если свертка отключена и слева есть текст.

conceal:c - символ, замещающий скрытый текст.

nbsp:c - символ, изображающий неразрывный пробел из Юникода (0xA0 и U+202F).

Символы : и , использовать не следует, юникод допустим при юникодной кодировке. Символы должны быть шириной единица.

Вот так это выглядит в предельном виде. Команда была :set list listchars=eol:*,space:_,tab:(),trail:=,precedes:<,nbsp:+ То есть, табы выделены как ())), пробелы подчерками, На конце строки звездочка, пробелы на конце строки знаками равенства, неразрывный пробел - плюсик. О том, что строка продолжается влево, говорит знак <
Вот так это выглядит в предельном виде. Команда была :set list listchars=eol:*,space:_,tab:(),trail:=,precedes:<,nbsp:+ То есть, табы выделены как ())), пробелы подчерками, На конце строки звездочка, пробелы на конце строки знаками равенства, неразрывный пробел - плюсик. О том, что строка продолжается влево, говорит знак <

Цветовое выделение можно менять, есть цветовые группы.

Помимо опции, есть команда :list, которая печатает строки из буфера с разметкой невидимых символов. Это позволяет посмотреть избранные строки: диапазон или по условию.

Может быть удобно, когда у вас много всего невидимого и надо в этом разобраться.

Удачи.

Научно-популярные каналы на Дзене: путеводитель
Новости популярной науки12 марта 2022