如何在vim中默认崩溃(折叠)Doxygen注释?

时间:2013-04-03 22:41:37

标签: c++ vim

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

.vimrc中有没有办法折叠(折叠)默认的Doxygen评论?

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

如果是vim的C-fold插件,那么它看起来可能是一个很好的解决方案。这是一个详细的安装顺序,以使其工作:

  1. 添加Doxygen语法突出显示
  2. (a)从http://vim.sourceforge.net/scripts/script.php?script_id=5安装,这将创建~/.vim/syntax/doxygen.vim

    (b)用这一行添加~/.vim\ftdetect\doxygen.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 / syntax / doxygen_load.vim' autocmd FileType c,cpp set foldmethod = syntax autocmd FileType c,cpp set foldlevel = 10

    2. 请注意,foldlevel确定最初折叠的数量。高价值将确保大部分是开放的。

      1. 将C-fold添加到(取消)折叠代码或注释
      2. (a)从安装~/.vim/plugins/cfold.vim~/.vim/after/syntax/c.vim的{​​{3}}安装。

        (b)在~/.vim/syntax/doxygen.vim

        的末尾添加
        syn region doxygenComment start= ... keepend fold
        

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

        • z[打开所有doxygen风格的评论
        • z]关闭所有doxygen风格的评论
        • z{打开所有代码块
        • z}关闭所有代码块

        使用Doxygen评论来修改文件,然后点击z]以折叠Doxygen评论。

1 个答案:

答案 0 :(得分:2)

syntax/c.vimsyntax/doxygen.vim都使用语法折叠。由于c.vim中的折叠定义没有任何条件,因此您无法仅关闭一个部分。

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