在Vim中打开文件时仅折叠注释

时间:2012-08-15 16:34:44

标签: vim comments folding

当我在Vim中查看带有详细注释的长代码文件时,我希望能够加载折叠注释但其他所有内容展开的文件。我.vimrc中的当前折叠配置是:

set foldmethod=syntax
set nofoldenable

这样,当我想开始进行折叠时,我就可以开始执行z命令了。但有没有办法只折叠(块)评论?

1 个答案:

答案 0 :(得分: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

请注意,在这些示例中,正则表达式中的^字符指定/*=begin匹配位于该行的开头。如果您想匹配行的开头和匹配项之间是否有空格,请使用^\s*代替^%foldo会打开所有折叠,以便设置foldenable,但不会折叠所有内容(在这种情况下只是注释)。