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