Коли я працюю над файлами в python, я інколи помиляюся з вкладками пробілів і навпаки. Чи можна змусити Vim відобразити символ для вкладки замість вкладки?
:h vim-faqта шукайте /invisible. Важко запам'ятовується тег :h faq-19.8.
Коли я працюю над файлами в python, я інколи помиляюся з вкладками пробілів і навпаки. Чи можна змусити Vim відобразити символ для вкладки замість вкладки?
:h vim-faqта шукайте /invisible. Важко запам'ятовується тег :h faq-19.8.
Відповіді:
Так, використовуйте список:
set list
set listchars=tab:>-
Якщо ви помістите ці два рядки у свій .vimrc, буде показано вкладки як >для стартового положення, так і -через решту вкладки.
(Sidenote: listchars також може відображати пробіли із заднім крапкою trail:x(замінити xсимволом, який ви хочете використовувати для пробілу), що також може бути корисним.)
set listchars=tab:!·,trail:·, IMHO ·набагато чіткіше, ніж -... Вам потрібна досить недавня версія Vim, щоб вона працювала до цього часу (не впевнений, який саме, я думаю, 7.3.x) ...
▸оскільки він трохи менше, ніж >. В даний час я бачу проміжок білого простору, позначаючи еол (хоча я можу спробувати вище). Мої налаштування: set listchars=eol:¬,tab:▸\ і
Основна відповідь полягає в тому :set list, що вкладки відображаються як ^I.
Однак я рекомендую вийти за рамки цього. Просто :set listпроблематично тим, що він не може зберегти візуальне вирівнювання на екрані. Наприклад:
%.o: %.cpp
^Ig++ -c $<
не виглядає добре, особливо якщо ви очікуєте, що gпоказник g++з'явиться під першим pіз cpp(припускаючи tabstop=8).
Тому я пропоную .vimrcвам укласти щось на зразок :set listchars=tab:␉· (Щоб було зрозуміло, це символ Unicode U + 2409 СИМВОЛ ДЛЯ ГОРИЗОНТАЛЬНОГО ТАБУЛЯЦІЇ, а потім U + 00B7 СЕРЕДНЯ ДОТ .)
Як пояснено в :help listchars, двозначне налаштування для tab:xyзбереження візуального вирівнювання:
tab:xy Two characters to be used to show a tab. The first char is used once. The second char is repeated to fill the space that the tab normally occupies. "tab:>-" will show a tab that takes four spaces as ">---". When omitted, a tab is show as ^I.
Наведений вище приклад з’явиться на екрані у вигляді:
%.o: %.cpp
␉·······g++ -c $<
Особисто я розбираюся зі своїм listchars:
:set listchars=eol:⏎,tab:␉·,trail:␠,nbsp:⎵
eolвикористання я використовую U + 23CE СИМБОЛ ПОВЕРНЕННЯtrailя використовую U + 2420 СИМВОЛ для просторуnbspя використовую U + 23B5 КОРОБКУВАННЯ БОТОМЦі символи є досить відмітними, що вони рідко з'являються буквально в тексті документа.
Щоб ввести ці спеціальні символи у свій текст vimrc, введіть, Ctrl-vu23CEперебуваючи в режимі вставки, як пояснено в :help utf-8-typing.
set lcs=tab:├─
Для періодичного використання можна просто виділити всі вкладки в документі за допомогою наступної /команди пошуку :
/\t
Щоб видалити виділення, просто введіть :nohкоротке значення для :nohlsearch—не високої освітленості.
" Highlight tabs as errors.
" https://vi.stackexchange.com/a/9353/3168
match Error /\t/

Більше цих корисних команд виділення - включаючи комбінований пробіл і роблячи це постійним - дивіться у Вікі-вікі .
:match Error /\t/можете виділити вкладки (або будь-який інший шаблон для цього питання) незалежно від реєстру пошуку та hlsearch (введіть, :matchщоб очистити його).
Мені особисто подобається використання плагіна indentLine , який відображає вертикальну лінію на рівнях відступу.
Це дуже допомагає, особливо в пітоні, де відступ важливий.
Крім усього іншого, він пропонує команду перемикання, яку можна відобразити на комбінацію клавіш, щоб ви могли вимкнути її, коли вона вам не потрібна.
Найпростіший спосіб зробити це :set list, який покаже вкладки як ^Iі кінець рядка як $.
Мені подобається використовувати відображення, яке дзвонить
:set invlist
для переключення між звичайним відображенням та відображенням списку.
Наприклад:
:nmap <leader>l :set invlist<cr>
Це дозволяє мені швидко перевірити, чи є проблеми з табуляцією та простором, а потім повернутися до звичайного дисплея.
retabкожного разу, коли ви зберігаєте файл.