Vimで詳細なコメントが付いた長いコードファイルを表示しているときに、コメントが折りたたまれているが、他のすべてが展開されているファイルをロードできるようにしたいと思います。私が持っている現在の折りたたみ構成は次の.vimrc
とおりです。
set foldmethod=syntax
set nofoldenable
そうすれば、フォールドを開始したいときに、z
コマンドの実行を開始できます。しかし、(ブロック)コメントのみを折りたたむ方法はありますか?
グローバルコマンドを実行して、すべてのブロックコメントフォールドを閉じることができます。
: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
これらの例では^
、正規表現の文字は、/*
との=begin
一致が行の先頭にあることを指定していることに注意してください。行の先頭と一致の間に空白がある場合に一致させたい場合は、の^\s*
代わりにを使用し^
ます。はすべての%foldo
折り目を開いてfoldenable
設定されますが、すべてを折りたたむわけではありません(この場合はコメントのみ)。