2012-08-15 5 views
5

Vimで冗長なコメントを持つ長いコードファイルを表示しているときに、コメントが折りたたまれているファイルを読み込めるようにしたい。私は私の.vimrcを持っている現在の折りたたみ構成は次のとおりです。ファイルがVimで開かれたときにのみコメントをつける

set foldmethod=syntax 
set nofoldenable 

そのように、私は折り目をやって起動したい場合、私はちょうどzコマンドの実行を開始することができます。しかし(ブロック)コメントを折り畳むだけの方法はありますか?あなたは、すべてのブロックコメントを閉じるにはグローバルコマンドを実行することができ

答えて

6

はひだ:

:g/^\/\*/foldc 

これは/*(共通ブロックコメントインジケーター)で始まる行に:help foldcloseを実行します。この場合、/*をエスケープする必要があることに注意してください。別の区切り文字(例::g#^/\*#foldc)を使用する場合は、/をエスケープする必要はありません。これを自動的に実行させたい場合は、それを自動コマンドに追加することができます。これらの例では正規表現で^文字が/*とマッチが行の先頭にあることを指定すること

set fdm=syntax fen 
augroup closeCommentFolds 
    au! 
    au FileType javascript %foldo | g/^\/\*/foldc 
    au FileType ruby %foldo | g/^=begin/foldc 
augroup end 

注:たとえば。行頭とマッチの間に空白がある場合は、^の代わりに^\s*を使用してください。 %foldoはすべてのひだを開き、foldenableが設定されますが、すべてを折り畳まない(この場合はコメントのみ)。

+0

これはすばらしいアナウンサーです。私は多くのことを学びました。しかし、それは箱のままでは動作しませんでした。私は '' ... fenをしなければならなかった| %foldopen | 'SilentFold'はブロックコメントではないにもかかわらず' /*...*/ 'スタイルが使用されている行の折り返しエラーを抑制するために定義した関数です。%g ^/\ * @ SilentFold() (はい、私はオブジェクトですが、私はコードを書いていませんでした)、 'normal zc'を使います。また、私が行ったことが投稿を改善していることがわかったら、それから自由に描くことができます。 (それはあまりにも冗長で、理由を知りたいと思うかもしれません)+1ありがとう! –

+0

実際、私の答えは奇妙なものでもあります。コメントではないもの、つまり '{...} 'ブロックを折りたたんでいます。 –

+0

@Kazark大丈夫、混乱については申し訳ありません。私は私の更新された答えが今完全に働いていると信じていますお知らせ下さい。 – Conner

関連する問題