Эта статья является вольным переводом http://vimcasts.org/episodes/show-invisibles/, сделанным для себя. В дальнейшем планирую перевести остальные скринкасты.
Спецсимволы
В Vim`е можно включить отображение скрытых символов, таких как символы табуляции и перевода строки, при помощи команды :set list. Скрыть спецсимволы можно с помощь команды :set nolist или :set list!.
Для быстрого переключения отображения спецсимволов вставьте следующие строки в свой .vimrc, или если у вас установлена windows, то в _vimrc файле.
" Быстрый вызов команды `set list!` - \l nmap <leader>l :set list!<CR>
Обычно <leader> назначена клавиша , но её можно изменить с помощь команды: let mapleader = "ваша_клавиша"
Теперь займёмся самими спецсимволами. Символы назначенные по умолчанию выглядят не очень презентабельно, для их изменения используем команду :set listchars.
Для начала настроим два основных спецсимвола – табуляцию и конец строки.
Табуляция устанавливается двумя символами, первый символ индикатор начала табуляции, второй заполнитель. Например, если указать tab:>- , то при размере табуляции в 4 символа будет отображаться >---. Укажем индикатором табуляции "▸", а заполнителем пробел.
Символ завершения строки устанавливается одним символом, в качестве символа-индикатора установим символ ¬
" Используем символы как в TextMate для табуляции и конца строки set listchars=tab:▸\ ,eol:¬
Ввести unicode-символы в vim’е можно в режиме редактирования, нажав комбинацию
+ , затем клавишу и четырёхсимвольный шестнадцатеричный код символа. В windows + занята вставкой из буфера обмена, поэтому вместо неё в vim’е назначена комбинация +Вы можете настроить и отображение других скрытых символов, более подробно об этом можно узнать из справочной информации vim’а. Для этого нужно в обычный режим и набрать :help listchars.
Для себя я настроил, кроме табуляции и конца строки, индикаторы продолжения строки влево и право от экрана.
" Настраиваем отображения скрытых символов, при включении их отображения: " tab - два символа для отображения табуляции (первый символ и заполнитель) " eol - символ для отображения конца строки " precedes - индикатор продолжения строки в лево " extends - индикатор продолжения строки в право set listchars=tab:▸·,eol:¬,precedes:«,extends:»
Цветовая схема
Если в вашей цветовой теме спецсимволы отображаются не тем цветом как вам бы хотелось. Исправить это можно через ключи NonText и SpecialKey, команды hightlight.
Например:
"Invisible character colors highlight NonText guifg=#4a4a59 highlight SpecialKey guifg=#4a4a59
Заострять внимание на настройках цветовой схемы не буду, т.к. в основном в них уже более-менее нормально настроены цвета для спецсимволов. Тем более, что на vimcasts.org вышел подкаст о цветовых схемах, соответственно к этой теме я ещё вернусь :)
1 комментарий:
Спасибо, помогло :)
Отправить комментарий