如何在vim中默认折叠氧原子注释

How to collapse (fold) Doxygen comments by default in vim?

本文关键字:注释 折叠 默认 vim      更新时间:2023-10-16

我们正在考虑将Doxygen文档添加到c++头文件中,但是有些人不希望看到默认情况下冗长的Doxygen文档。

是否有一种方法在.vimrc中默认折叠(折叠)氧注释?

注意:我已经尝试过autocmd FileType c,cpp set foldmethod=syntax,它将崩溃所有匹配的语法,但我一直无法弄清楚如何避免崩溃函数,类等,即只崩溃氧文档格式。

另一个解决方案看起来可能是一个很好的,如果C-fold插件的vim。下面是让它工作的详细安装顺序:

  1. 添加氧语法高亮显示

(a)从http://vim.sourceforge.net/scripts/script.php?script_id=5安装它,这会创建~/.vim/syntax/doxygen.vim

(b)用这一行添加~/.vimftdetectdoxygen.vim:

au BufNewFile,BufRead *.doxygen setfiletype doxygen

(c)用以下两行添加~/.vim/syntax/doxygen_load.vim:

au! Syntax {cpp,c,idl}
au Syntax {cpp,c,idl} runtime syntax/doxygen.vim
  1. ~/.vimrc结尾添加:

    让mysyntaxfile = '/home/dchinner/.vim/语法/doxygen_load.vim 'autocmd FileType c,cpp set foldmethod=syntaxautocmd FileType c,cpp set foldlevel=10

注意,折叠级别决定了初始折叠的大小。一个高的值将确保大多数是打开的。

  1. 在(un)fold代码或注释中添加C-fold

(a)安装它从http://vim.sourceforge.net/scripts/script.php?script_id=1145将安装~/.vim/plugins/cfold.vim~/.vim/after/syntax/c.vim

(b)在~/.vim/syntax/doxygen.vim末尾添加:

syn region doxygenComment start= ... keepend fold

完成了!你现在可以使用这些C-fold插件组合键:

  • z[打开所有氧样式注释
  • z]关闭所有氧样式注释
  • z{打开所有代码块
  • z}关闭所有代码块

创建一个带有氧原子注释的文件,并按z]折叠氧原子注释

syntax/c.vimsyntax/doxygen.vim都使用语法折叠。由于c.vim中的折叠定义周围没有条件,因此您不能只关闭一部分。

您必须将默认的$VIMRUNTIME/syntax/c.vim派生为~/.vim/syntax/c.vim,并从语法命令中删除所有fold属性。这应该只留下氧部分折叠(与:set foldmethod=syntax)。缺点是您必须从现在开始维护您的特殊版本的c.vim