6

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

set foldmethod=syntax
set nofoldenable

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

4

1 回答 1

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

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

于 2012-08-15T18:18:24.700 回答