Когда я работаю с файлами в Python, я иногда ошибочно принимаю табуляции за пробелы и наоборот. Есть ли способ заставить Vim отображать символ для вкладки вместо вкладки?
119
Когда я работаю с файлами в Python, я иногда ошибочно принимаю табуляции за пробелы и наоборот. Есть ли способ заставить Vim отображать символ для вкладки вместо вкладки?
retab
каждом сохранении файла.:h vim-faq
и искать/invisible
. Трудно запомнить тег:h faq-19.8
.Ответы:
Да, используйте listchars:
Если вы поместите эти две строки в ваш .vimrc, вкладки будут показаны как
>
для начальной позиции, так и-
для остальной части вкладки.(Sidenote: listchars также может показывать завершающие пробелы с помощью
trail:x
(заменитеx
символ, который вы хотите использовать для конечного пробела), что также может быть полезно.)источник
set listchars=tab:!·,trail:·
, IMHO·
намного яснее, чем-
... Вам нужна довольно свежая версия Vim, чтобы это работало между прочим (не уверен, что именно, я думаю, 7.3.x) ...▸
как он немного меньше, чем>
. В настоящее время я вижу конечный пробел, помечая eol (хотя я могу попробовать выше). Мои настройки:set listchars=eol:¬,tab:▸\
иОсновной ответ
:set list
таков: вкладки отображаются как^I
.Тем не менее, я рекомендую пойти дальше. Просто
:set list
проблематично в том, что не удается сохранить визуальное выравнивание на экране. Например:не выглядит хорошо, особенно , когда вы ожидаете
g
отg++
появляться под первымp
изcpp
(предполагаяtabstop=8
).Поэтому я предлагаю, чтобы
.vimrc
вы добавили что-то вроде:set listchars=tab:␉·
(для ясности, это символ Unicode U + 2409 СИМВОЛ ДЛЯ ГОРИЗОНТАЛЬНОЙ ТАБУЛЯЦИИ, за которым следует U + 00B7 MIDDLE DOT .)Как объяснено в
:help listchars
, двухсимвольная настройка дляtab:xy
сохранения визуального выравнивания:Пример выше будет отображаться на экране как:
Лично я стараюсь изо всех сил
listchars
:eol
, я использую U + 23CE RETURN СИМВОЛtrail
, я использую U + 2420 СИМВОЛ ДЛЯ КОСМОСАnbsp
, я использую U + 23B5 НИЖНИЙ квадратная скобкаЭти символы достаточно различимы, поэтому они редко появляются буквально в тексте документа.
Чтобы ввести эти специальные символы в свой
vimrc
, введите Ctrl-vu23CE
в режиме вставки, как описано в:help utf-8-typing
.источник
set lcs=tab:├─
Подсветка вкладок
Временная Tabподсветка
Для случайного использования можно просто выделить все вкладки в документе с помощью следующей
/
команды поиска :Чтобы убрать выделение, просто наберите слово,
:noh
которое означает «нет:nohlsearch
освещения».Постоянное Tabвыделение
Больше выделения
Для получения дополнительной информации об этих полезных командах выделения, в том числе в сочетании с конечным пробелом и созданием этого постоянного элемента, см. Вики Vim .
источник
:match Error /\t/
для выделения вкладок (или любого другого шаблона в этом отношении) независимо от регистра поиска и hlsearch (введите,:match
чтобы очистить его).Мне лично нравится использование плагина indentLine , который отображает вертикальную линию на уровнях отступов.
Это очень помогает, особенно в python, где важен отступ.
Помимо прочего, он предоставляет команду переключения, которую можно сопоставить с комбинацией клавиш, чтобы вы могли отключить ее, когда она вам не нужна.
источник
Вы можете по-разному показывать вкладки в обычном терминале и gvim.
(Добавление для полноты, в случае, если другие считают это полезным).
источник
Самый простой способ это сделать
:set list
, который будет показывать вкладки как^I
и конец строки как$
.Мне нравится использовать отображение, которое вызывает
для переключения между обычным отображением и отображением списка.
Например:
Это позволяет мне быстро проверить, есть ли проблемы с вкладками и пространством, а затем вернуться к обычному отображению.
источник