当我在Vim中查看带有详细注释的长代码文件时,我希望能够加载折叠注释但其他所有内容展开的文件。我.vimrc
中的当前折叠配置是:
set foldmethod=syntax
set nofoldenable
这样,当我想开始进行折叠时,我就可以开始执行z
命令了。但有没有办法只折叠(块)评论?
答案 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
,但不会折叠所有内容(在这种情况下只是注释)。