2013-02-24 21 views
5

私は色々なレベルのかっこに異なる色を与える良い虹色の括弧のプラグインをどこからでも見てきました。私はcouple that I've foundが本当に好きです。なぜなら、彼らは両方とも、カスタマイズ可能性の良い仕事をしているからです。highlighting the right thingです。かっこよりも多くをサポートしています。シェブロン、中括弧、および角括弧はすべてハイライト表示されます。これは本当に好きです。Vim Folding with Rainbow括弧

quite a few plugins for this!のようです。彼は暗い背景に最適化されているので、私は現在oblitumを使用しています(私はしばしばシェルから直接作業します)。

そのプラグインのgithubのヒントに続いて、私は.vimrcに「常にオン」のスニペットを持っています。しかし、常時オンブロックが「構文有効化」の上にある場合、cppファイルでは{}がハイライト表示されません。常時オンブロックがsyntax enable未満の場合、フォールディングは機能しません。私はプラグインの性質上、プラグインがこれを行うと思う。それはファイルを通過して色情報を追加します。私は、そのファイルをロードした後にコマンド:syntax enableを使用すると、そのフォールドを認識していないときにがフォールドを認識することに気付きました。しかし、この時点で、それは虹が括弧を付けた色付けを取り除きます。私.vimrc

、私は従って、関連の線があります。私は、このようなc.vimなどのvimが付属して構文ファイル、見てから、あなたが特定のブロックが注釈されていることを見ることができる、と考えて

syntax enable 
set foldmethod=syntax 
set foldenable 
set foldlevel=100 

let g:rainbow_operators=2 
au FileType c,cpp,objc,objcpp call rainbow#activate() 

を折りたたみとして。私はあなたがそれに基づいて正規表現を書くことができれば、文字を構文的グループとして識別することができると確信しています。それで、あなたはそれのためのcolorschemeを定義することができます。実際には、rainbow pluginは実際には "syn region"コマンドを呼び出していますので、このルートは非常に実用的です。私はvimスクリプトではそれほど知識がありません。

誰かがプラグインを変更したり、両方を実現するスクリプトなどを用意してくれますか?

+0

でそれを解決しようとしました。 'activate()'は強調表示の再読み込みを失い、 'load()'は必要に応じて強調表示の再読み込みを強制します。私の '.vimrc'では、' set foldmethod = marker'、 'syntax on'を使って" bellow "を使っています。私は折り畳みに問題はありません... –

+0

どうしてfoldmethod = markerを持っていて、同時にC++でどうやって作業しますか? –

+0

ああ、foldmarkers = {、}を設定すると、関数とクラス定義のためにそれが実行されます。しかし、コメントはどうですか? –

答えて

0

私は同じまたは類似の問題を抱えていたことを暗に覚えています。
また、XMLコードの強調表示がIIRCで壊れていました。

私は「常時オン」をオフにし、必要なときにのみカラーのかっこをアクティブにしました。
私の実際の解決策は、プラグインのオンとオフを切り替えるための簡単な方法でした。遅刻

+0

まあ、私は両方とも同時に働きたい。私はそれを感謝します。 –

+0

私を信じて、私はあなたを理解しています。ちょうどあなたが行を描き、物事を修正するための時間/資源がないときに回避策をとらなければならない時があります。 Vimのgit plugin "Timing Pope"とSteve LoshのSpliceプラグイン(Three-way-diffing)はうまく機能しません。私は深く愛していますが、問題の原因を見分けることはできません...私もとても悲しくなります。 – sjas

2

申し訳ありませんが、私は虹#は虹#負荷() ``に() ``アクティブに変更することをお勧めしますFix disabled folding (issue #2)