2014-12-24 4 views
0

Я хочу, чтобы подсветка синтаксиса Python моей системы была в основном неповрежденной, но у меня есть определенный шаблон, который я хотел бы выделить для идиомы, которую я использую много. Как добавить дополнительные инструкции подсветки поверх существующего выделения, сделанного vim?Vim recipe для вспомогательного выделения подсветки синтаксиса

(Извиняюсь, если это уже было предложено. Все ВИМ подсветка синтаксиса вопросы, которые я нашел, казалось, включают написание нового синтаксиса с нуля.)

ответ

2

Положите дополнительные :syntax команды в ~/.vim/after/syntax/python.vim, и они будут автоматически выполненный после оригинальный сценарий синтаксиса.

  • Легко выделить вещи, которые до сих пор не разбираются вообще.
  • Для элементов уже разобранных /, выделенных, вам необходимо выяснить, с помощью которого синтаксиса группы (например, pythonFunction), и добавить пункт containedin=pythonFunction свои :syntax команд. Без этого оригинальное совпадение затмит ваше. Чтобы выяснить, какая группа синтаксиса вызывает выделение. :syn list показывает все активные группы, но это проще при установке плагина SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor.
  • Представляем выделение элементов с большим количеством существующих синтаксических элементов с большим количеством элементов, поскольку ваше совпадение будет скрывать исходные, что может нарушить весь синтаксический анализ. Вам необходимо тщательно изучить существующую структуру вложенных элементов и попытаться поместиться в вашу, снова через contains= и containedin=. В зависимости от реальной ситуации это может быть сложно.

Для определения фактического синтаксиса см. Справку, начинающуюся с :h :syn-keyword. В принципе, существуют простые определения ключевых слов, соответствия регулярных выражений и регионы, определенные шаблонами начала и конца.

Смежные вопросы