2008-09-12 18 views
44

誰かがVIMのJavaScriptの構文強調表示を最適以下にしていますか?私は文法の強調表示を調整するために時々スクロールする必要があることを知っています。時にはそれが神秘的にすべての強調表示を削除するためです。vimのJavaScriptシンタックスの強調表示

これを解決する回避策または回避策はありますか?私はvim 7.1を使用しています。

答えて

29

VIMRUNTIMEに同梱されているものではなく、improved Javascript syntax highlighterを試してみるとよいでしょう。

+0

ニース。 jsdocの強調表示もサポートしています。ありがとう! – asksol

+0

注意:最新のバージョンでは、改良されたハイライターの作者が構文同期から離れて変更されていることに気付きました。このハイライターで発生した問題が起きる可能性があります。過去のように見えますが、それはいつもスタートからでした。 –

+0

私は9/12/08リリースと05/17/07リリースの両方を試しましたが、いずれも状況を改善していません。途中で複雑なjavascriptファイルを開くと、強調表示されず、いくつかのページをスクロールしてvim startを正しく強調表示させる必要があります。 –

12

シンタックスカラーリングの同期はおそらく調整が必要です。私はそれを変更する必要があることを特定の状況で発見しました。

構文同期( ":help syn-sync")は、ファイル内のどこにでも描画を開始できるように、vimがコードのパースを色分けして更新する方法を制御します。

デフォルトは常にので、時々私は自分自身が

:syn sync fromstart 

を発行見つけ、私のために動作しません。私は

:help syn-sync 

か、単に

:help syntax 
をご確認の下でドキュメントを読ん示唆

と同期に関するセクションを見つけてください。

4つの利用可能な基本オプションの中から情報に基づいた判断を下すことができます。 "fromstart"モードと "ccomment"モードを切り替えたり、同期設定をクリアするためのファンクションキーへのマッピングを維持しています。

3

速くて汚い修正のために、ときどき上下にスクロールするだけで、強調表示が再調整されます。 Ctrl + Lの画面を再描画することもできます。

15

さて、私はYi Zhao's Javascript Syntaxを修正し、Ajaxキーワードのサポートを追加し、DOMメソッドなどを強調表示しました。

私はまだVimを初めて使っているので、これは完璧ではありませんが、これまでのところ私の仕事があります。 My Javascript Syntax。修正できる場合は、機能を追加してください。

更新: これらのシンタックスハイライトは、自分のカラーチェンジに含めた場合にのみ表示されます( Nazca colorschemeで行ったように)。これらの行を変更した構文ファイルに追加できるかどうかをテストします。

新しいバージョンのjavacript構文ファイルgithubに従ってください。現在の色の見本を変更する必要はなくなりました。

+0

私はあなたのスクリーンショットの表情が気に入っていますが、標準のvim js構文とは異なるものをロードします。私は他のカスタム構文ファイルを持っているので、私はなぜあなたの作品が動作しないのだろうかと思っています。 – djeikyb

+0

私は標準のvim js構文より優れた方法を見つける李趙に基づいています。また、vimのために私の 'Nazca' colorschemeに余分な行を追加しました。私は修正された構文ファイルにこれらの行を直接追加しようとしませんでした。実際には、これらの行を独自のカラースケージに追加するのは非常に簡単で簡単です。 –

+0

ああ、それは何もしませんでした。なぜなら、あなたはまた、どのような配色にも余分な行を加えなければならないのを見ていないからです。今すぐ入手してください。ありがとう! – djeikyb

3

これは本当に古い投稿ですが、同じことが起こっていました。.htmlファイルのjavascriptセクションを見ると、シンタックスハイライトが機能しなくなることがあります。 OPが言及しているように、素早く回避するにはスクロールアップしてから、魔法のように物事が再び強調表示されるようにすることでした。

今日、根本的な問題と優れた解決策が見つかりました。 Vimでは、シンタックスハイライトはコンテキストを使用して適切なハイライトを導出します。コンテキストは前の行で定義されます。:syntax sync minlines=200を発行すれば、現在の行の前の行数を指定することができます。この場合、コンテキストとして200行までの前の行を使用します。 :syntax sync fromstartを実行すると、ファイル全体(長いファイルの場合は遅くなる可能性があります)を使用することができます。私はそれを見つけたら

は、私は私の.vimrcに次の行を追加:

autocmd BufEnter *.html :syntax sync fromstart 

そうすることにより、.htmlファイルをコンテキストとしてファイル全体を使用します。したがって、javascriptセクションは、JSセクションの長さに関係なく、常に適切に強調表示されます。これが他の誰かを助けることを願っています!

+0

これはHTML/JS構文のハイライトの問題を修正する最適なソリューションです。私はなぜVIMはまだ修正できないこのバグを持っているのか分からない。 https://github.com/vim/vim/issues/1775 – northtree

関連する問題