vim - 在 Vim 中打开文件时只折叠注释

标签 vim comments folding

当我在 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

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

关于vim - 在 Vim 中打开文件时只折叠注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11973281/

相关文章:

vim - VI 和 VIM 文件列表

javascript - Ajax 注释插入 LI 或替换 UL?

Java - 正则表达式查找代码中的注释

java - 遇到 Sonar 错误时如何处理TODO注释

vim - 如何对所有打开的缓冲区进行替换?

macos - 可以使用 Cmd+c 复制 vim 选择吗?

regex - Vim - 如何使用匹配模式连接行

vim - 通过单击边距来折叠 gvim 代码

f# - List.fold和List.foldBack之间的区别的示例

junit - JUnit 测试的层次结构