Вы когда-нибудь сталкивались с проблемой в YAML, Python или любых других файлах, в которых подчеркивается отступ?
А позже вы поняли, что в файле все правильно, кроме отступа и увидели, что там строка с отступом в 3 пробела вместо 4?
Это случается часто. Большинство IDE позволяют просматривать специальные символы и определять конец строки, пробелы и табуляцию. Vim не отстает от других IDE. Он также может показать вам эти скрытые символы.
Скрытые символы в Vim
Скрытые символы в Vim можно рассматривать как «пробелы». Ниже приведены символы, которые Vim считает скрытыми для лучшей читаемости.
- eol (конец линии)
- tab
- trail (символ пробела перед символом новой строки)
- extends (символ в последнем столбце, чтобы показать, что следующая строка является продолжением переноса строки)
- precedes (символ в первом столбце, чтобы показать, что эта строка является продолжением предыдущей строки в виде переноса строки)
- conceal
- nbsp (неразрывный пробел)
Включить видимость скрытых символов
Чтобы временно включить видимость скрытых символов, вы можете использовать следующую команду.
:set list
Чтобы отменить это изменение, вы можете снова скрыть скрытые символы, используя приведенную ниже команду.
:set nolist
Как вы можете видеть, включив опцию списка, теперь есть $символ, обозначающий новую строку или разрыв строки.
Чтобы сделать это изменение постоянным, добавьте следующую строку в файл «vimrc».
set list
Изменить скрытые символы
Когда вы включаете видимость символов, Vim имеет предопределенный набор. Как вы видели на гифке выше, при включении видимости с помощью set list, символ новой строки обозначался знаком доллара $.
Но что, если вам не нужен знак доллара? Что делать, если вы хотите, чтобы другой символ обозначал разрыв строки?
Ниже приведен пример того, как вы можете использовать разные символы для каждого скрытого символа.
:set listchars=eol:^,tab:-,trail:!,extends:>,precedes:<
Символ, который вы хотите использовать для обозначения конца строки (eol), должен быть введен после eol:.
Если вы посмотрите на видео, мы скопировали пробелы и вставил их в самый конец строки (также известный как «завершающие пробелы»), и теперь они отображаются как восклицательные знаки !.
Также обратите внимание, как символ по умолчанию eolизменился с $символа доллара на символ циркумфлекса ^.
Если вы хотите сделать это постоянным, вы можете добавить ту же команду, которую вы запускали в свой «vimrc», следующим образом:
set listchars=eol:^,tab:-,trail:!,extends:>,precedes:<
Заключение
В этой статье рассказывается, как включить (и отключить) видимость скрытых символов. Мы также рассмотрим, как вы можете изменить, какие символы обозначают наличие скрытого персонажа.