Подсветка блоков кода Python в VIM - PullRequest
8 голосов
/ 06 февраля 2012

Я хотел выделить различные уровни отступов в vim, чтобы легче было идентифицировать большие блоки кода.У меня есть несколько разумных больших вложенных блоков / while / with / try, и мне сложно определить, в каком блоке я нахожусь, то есть, сколько у меня есть «вкладок» перед курсором.

Есть ли способ выделитьtabs?

Это то, что я имею в виду:

try:
*   while True:
*   *   for foo in bar:
*   *   *   do()
*   if something:
*   *   done()
except bla:
*   exit()

Где * будет специальный цвет фона.

Я также согласился бы на любой другой способ определения уровней отступов.

Ответы [ 2 ]

8 голосов
/ 06 февраля 2012

Плагин Indent Guides vim делает именно такую ​​подсветку.Я использую его вместе с опцией listchars (как указал Аккар).

3 голосов
/ 06 февраля 2012

Вы можете использовать опции listchars для отображения специфических символов (см. :help listchars).

Например, если вы хотите показать вкладки, вы можете использовать:

:set listchars=tab:*\     " Be careful : there is a space after the backslash
:set list

Вы также можете изменить цвета подсветки, используя свойство highlight для группы SpecialKey.

Если вы используете vim в терминале:

:highlight SpecialKey ctermfg=Cyan

См. :help highlight для получения дополнительной информации.

Вы также можете проверить :runtime syntax/colortest.vim, чтобы увидеть все доступные цвета.

...