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

Kei*_*son 6 vim comments folding

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

set foldmethod=syntax
set nofoldenable
Run Code Online (Sandbox Code Playgroud)

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

Con*_*ner 6

您可以执行全局命令来关闭所有块注释折叠:

:g/^\/\*/foldc
Run Code Online (Sandbox Code Playgroud)

这将: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
Run Code Online (Sandbox Code Playgroud)

请注意,在这些示例中^,正则表达式中的字符指定/*=begin匹配位于行的开头.如果你想匹配,如果在行的开头和匹配之间有空格,那么使用^\s*而不是^.在%foldo将所有的折叠打开,这样foldenable设置的,但它不会一切折(只是在这种情况下的评论).