2012-04-06 32 views
5

私はvim 7.3で "syntax" foldmethodを使用します。私は含んで、Test.cppのを開くとVIM構文の折りたたみ:複数行のコメントの折り畳みを無効にする

set foldmethod=syntax 

:の.vimrcで

/* A function with a multi-line 
* comment. This takes at least 
* four lines and I want to be 
* able to read all of them. 
*/ 
void TheFunction() 
{ 
    DoStuff(); 
} 

を私が折り畳まれたときに、以下を参照してください。

+-- 5 lines: A function with a multi-line--------------------------------------------- 
void TheFunction() 
+-- 3 lines: {------------------------------------------------------------------------ 

私は関数本体の折りたたみが好きではなく、コメントフォールディング。これを無効にして、次のようにします:

/* A function with a multi-line 
* comment. This takes at least 
* four lines and I want to be 
* able to read all of them. 
*/ 
void TheFunction() 
+-- 3 lines: {------------------------------------------------------------------------ 

どうすればよいですか? Vimのドキュメントとの時間SYNリストcComment

cComment  xxx matchgroup=cCommentStart start=+/\*+ end=+\*/+ extend fold contains 
[email protected],cCommentStartError,cSpaceError,@Spell 
        links to Comment 

しかし、周りのツールとGoogleがどのようにこのグループから属性を「折る」を削除する私に言っていない:私はとの関連性の構文グループを見ることができます。

私の唯一の手段は、本当に言語構文ファイルを編集することですか?私はシステム構文ファイルをコピーしてこれを使うのはあまり醜いと思うけど、私は.vimrcのコマンドで特定のグループを無効にできるはずです。

+0

kevの回答は完全に機能します。これは、ドキュメント ':help ft-c-syntax'のsyn-file-remarksセクションにあります。 '#if 0'スタイルのコメントを' let c_no_if0_fold = 1'で折り畳むこともできます。 – reasgt

答えて

5

'foldmethod'が、その後"syntax"に設定されている場合/* */ comments{ } blocksは 倍になります。コメントを折り畳みにしたくない場合:

:let c_no_comment_fold = 1 
関連する問題