bnf.vim(BNF文法ファイルを強調表示)がインストールされています。異なる構文でファイルの一部を構文ハイライトする方法は?
は、私は自分のコード内のコメントがあるとします。
/* <BNF>
<S> := <A> | h
<A> := a | b | c | .
</BNF> */
をVimには何とか全ファイルのファイルタイプにもかかわらず、BNF構文でそのコメントをハイライト表示するようにプログラムすることができますか?
bnf.vim(BNF文法ファイルを強調表示)がインストールされています。異なる構文でファイルの一部を構文ハイライトする方法は?
は、私は自分のコード内のコメントがあるとします。
/* <BNF>
<S> := <A> | h
<A> := a | b | c | .
</BNF> */
をVimには何とか全ファイルのファイルタイプにもかかわらず、BNF構文でそのコメントをハイライト表示するようにプログラムすることができますか?
これには私のSyntaxRange pluginを使用できます。
明示的に範囲を割り当てます。区切りパターンに基づいて自動的に
:10,20SyntaxInclude bnf
か:
:call SyntaxRange#Include('<BNF>', '</BNF>', 'bnf')
手がかりとしてヒアドキュメント名を使用します、多くの種類のファイルをvimのため。 PHPファイルの例では、私はしばしばので、ここでドキュメントを作成しています:
<?php
$my_html = <<<html
<h1>Solar</h1>
<p>Is <em>good</em></p>
html;
$my_js = <<<javascript
alert('yeah baby');
javascript;
$my_sql = <<<sql
SELECT user
FROM mytable
WHERE energy = 'solar';
sql;
作品を美しく、唯一の問題とそのインデントには問題があること.vimrc` `について
はそれを動作させることができませんでした。 – oligofren
を(終値マーカーは、前にスペースを持つことはできません)。 'autocmd構文*存在する場合(" b:current_syntax ")|私は 'BNF {{{...}}}'に ' ... 'を簡単にフォールドするように変更しました。(BNF {{{'}}}'、 'bnf' 。 –
実際のソリューションをお寄せいただきありがとうございます。なぜ 'b:current_syntax'をチェックしますか? –
私はそうしないと、エラー処理関数を出力します。SyntaxRange#Include..SyntaxRange#IncludeEx: 32行目: E108: 'b:current_syntax"は ':help'を実行します。たぶん私は別のautocmdイベントを使用する必要がありますか? –