Я редактирую цветовую схему Vim для PHP. Почему такие переменные, как $_POST
а также $_SESSION
классифицируется как заявления? Например, они используют тот же цвет, что и операторы if. Другие переменные будут иметь другую окраску. Также знак доллара относится к категории заявлений.
Как мне изменить их цвет отдельно?
Вам необходимо выяснить, какая группа синтаксиса вызывает выделение. :syn list
показывает все активные группы, но легче установить SyntaxAttr.vim — Показать атрибуты подсветки синтаксиса символа под курсором плагин.
Для меня это приводит к следующим сопоставлениям (Vim 8.0.55):
"if": phpConditional -> Conditional links to Statement
"$": phpVarSelector -> Operator links to Statement
"POST": phpIntVar -> Identifier
В общем, схемы цветов определяют базовый набор стилей, например Constant
, Identifier
, Statement
, Затем (все еще общие) варианты определены: String
это своего рода Constant
, Синтаксические плагины затем ссылаются на один из них. Вы можете увидеть, что для PHP в $VIMRUNTIME/syntax/php.vim
, в :hi def link
Команды в нижней части скрипта.
Это дает пользователю несколько способов настройки подсветки: если вы не видите String
как своего рода Constant
Вы можете переопределить эту ссылку или переопределить с помощью нового пользовательского стиля, и он будет применяться ко всем видам синтаксиса. Если вы просто хотите настроить определенный элемент языка (например, phpIntVar
), вы можете изменить эту ссылку, и она будет только для PHP и этого элемента. И все это может быть сделано в вашем ~/.vimrc
!
Других решений пока нет …