Vim 配色方案 PHP $_POST 变量分类为语句
Vim color scheme PHP $_POST variable categorized as statement
我正在为 PHP 编辑 Vim 配色方案。为什么 $_POST
和 $_SESSION
等变量被归类为语句?例如,它们使用与 if 语句相同的颜色。其他变量将具有不同的颜色。此外,美元符号被归类为声明。
如何分别更改它们的颜色?
您需要找出哪个语法组导致突出显示。 :syn list
显示所有活动组,但安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件后更容易。
对我来说,这导致以下映射 (Vim 8.0.55):
"if": phpConditional -> Conditional links to Statement
"$": phpVarSelector -> Operator links to Statement
"POST": phpIntVar -> Identifier
一般来说,colorschemes 定义了一组基本的样式,例如 Constant
、Identifier
、Statement
。然后,(仍然是通用的)变体被定义:String
is-a kind of Constant
。语法插件然后 link 到其中之一。您可以在脚本底部的 :hi def link
命令中看到 $VIMRUNTIME/syntax/php.vim
中的 PHP。
这为用户提供了几种配置突出显示的方法:如果您没有将 String
视为一种 Constant
,您可以重新定义 link,或者使用一种新的自定义样式,它将适用于各种语法。如果您只想调整某个语言元素(如 phpIntVar
),您可以更改 link,它仅适用于 PHP 和该元素。所有这些都可以在您的 ~/.vimrc
!
中完成
我正在为 PHP 编辑 Vim 配色方案。为什么 $_POST
和 $_SESSION
等变量被归类为语句?例如,它们使用与 if 语句相同的颜色。其他变量将具有不同的颜色。此外,美元符号被归类为声明。
如何分别更改它们的颜色?
您需要找出哪个语法组导致突出显示。 :syn list
显示所有活动组,但安装 SyntaxAttr.vim - Show syntax highlighting attributes of character under cursor 插件后更容易。
对我来说,这导致以下映射 (Vim 8.0.55):
"if": phpConditional -> Conditional links to Statement
"$": phpVarSelector -> Operator links to Statement
"POST": phpIntVar -> Identifier
一般来说,colorschemes 定义了一组基本的样式,例如 Constant
、Identifier
、Statement
。然后,(仍然是通用的)变体被定义:String
is-a kind of Constant
。语法插件然后 link 到其中之一。您可以在脚本底部的 :hi def link
命令中看到 $VIMRUNTIME/syntax/php.vim
中的 PHP。
这为用户提供了几种配置突出显示的方法:如果您没有将 String
视为一种 Constant
,您可以重新定义 link,或者使用一种新的自定义样式,它将适用于各种语法。如果您只想调整某个语言元素(如 phpIntVar
),您可以更改 link,它仅适用于 PHP 和该元素。所有这些都可以在您的 ~/.vimrc
!