2016-12-06 4 views
1

PHP用のVimカラースキームを編集中です。 $_POST$_SESSIONなどの変数はなぜステートメントに分類されますか?たとえば、if文と同じ色を使用します。他の変数は色分けされています。また、ドル記号はステートメントに分類されます。

これらの色を個別に変更するにはどうすればよいですか?

enter image description here

+1

@garfbradaz質問が構文の強調表示であるため、画像を投稿しました。 – Z0q

+0

私の心からの謝罪 - 私の悪いと私を無視! – garfbradaz

答えて

2

あなたはグループがハイライトの原因となる構文を知る必要があります。 :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は例ConstantIdentifierStatementために、スタイルの基本セットを定義します。次に、(まだ一般的な)バリアントが定義されます:String is-a kind of Constant。構文プラグインは、それらのいずれかにリンクします。 PHPの場合は$VIMRUNTIME/syntax/php.vim、スクリプトの最後の:hi def linkコマンドで確認できます。

Stringが種類Constantとして表示されない場合は、そのリンクを再定義したり、新しいカスタムスタイルで上書きしたりすることができます。すべての種類の構文。特定の言語要素(phpIntVarなど)を微調整する必要がある場合は、そのリンクを変更することができます。これはPHPとその要素のみに適用されます。そしてそのすべてはあなたの~/.vimrcで行うことができます!

+0

豊富な情報ありがとうございます。 varセレクタはうまくいくようですが、int varは '$ _POST'の色を変更しません。何か案は? – Z0q

+0

私はそれを見つけました。これは、phpSuperGlobalと呼ばれます。 – Z0q

関連する問題