vim での Javascript 構文の強調表示
-
09-06-2019 - |
質問
VIM による Javascript の構文強調表示が最適ではないと感じた人はいますか?時々、不思議なことにすべての強調表示が削除されるため、構文の強調表示を調整するためにスクロールする必要があることがわかりました。
これを解決する回避策や方法はありますか?vim7.1を使用しています。
解決
これを試してみるのもいいかもしれません 改良された Javascript 構文ハイライター VIMRUNTIME に同梱されているものではありません。
他のヒント
さて、改造しました Yi Zhao の Javascript 構文, 、Ajax キーワードのサポートが追加され、DOM メソッドなども強調表示されます。
これがこれです。私はまだ Vim に慣れていないので完璧には程遠いですが、今のところはうまくいきました。 私のJavaScript構文. 。修正や機能の追加ができる場合は、ぜひ行ってください。
アップデート: これらの構文ハイライトは、私が作成したように、独自のカラースキームに含めた場合にのみ表示されることを忘れていました。 Nazca
カラースキーム。変更した構文ファイルにこれらの行を追加できるかどうかをテストします。
次の新しいバージョンの JavaScript 構文ファイルに従ってください。 ギットハブ, 現在のカラースキームを変更する必要がなくなりました。
構文カラーリングの同期には調整が必要と思われます。特定の状況では、それを変更する必要があることがわかりました。
構文同期 (「:help syn-sync」) は、vim がファイル内のどこからでも描画を開始できるように、カラーリング用のコードの解析を追跡および更新する方法を制御します。
デフォルトが常に機能するとは限らないため、時々、
:syn sync fromstart
以下のドキュメントを一読することをお勧めします
:help syn-sync
または単に確認してください
:help syntax
同期に関するセクションを見つけてください。
利用可能な 4 つの基本オプションの中から十分な情報に基づいた決定を下すことができます。「fromstart」モードと「ccomment」モードを切り替えるため、および同期設定をクリアするためだけに、ファンクション キーへのマッピングを維持します。
これはかなり古い投稿ですが、私も同じことを経験していました。JavaScript セクションを参照すると、構文ハイライトが機能しなくなることがあります。 .html
ファイル。OPで言及されているように、簡単な回避策は上にスクロールすると、魔法のように物事が再び強調表示され始めます。
今日、根本的な問題と良い解決策を見つけました。Vim では、構文のハイライトはコンテキストを使用して正しいハイライトを取得します。コンテキストは前の行で定義されています。次のコマンドを実行すると、現在の行から何行前に使用するかを指定できます。 :syntax sync minlines=200
. 。この場合、前の最大 200 行がコンテキストとして使用されます。次のコマンドを実行すると、ファイル全体を使用することができます(長いファイルの場合は遅くなる可能性があります)。 :syntax sync fromstart
.
それを見つけたら、この行を .vimrc
:
autocmd BufEnter *.html :syntax sync fromstart
そうすることによって、 .html
ファイルはファイル全体をコンテキストとして使用します。したがって、JavaScript セクションは、JS セクションの長さに関係なく、常に適切に強調表示されます。これが他の誰かに役立つことを願っています!
簡単で汚い修正をするには、上下にスクロールするだけで強調表示が再調整されることがあります。 Ctrl+L 画面を再描画することでも問題を解決できる場合があります。