我们正在考虑将Doxygen文档添加到C ++头文件中,但有些人不希望默认情况下看不到详细的Doxygen文档。
.vimrc中有没有办法折叠(折叠)默认的Doxygen评论?
注意:我已经尝试autocmd FileType c,cpp set foldmethod=syntax
会崩溃所有匹配的语法,但我一直无法弄清楚如何避免折叠函数,类等,即仅折叠Doxygen文档格式。
如果是vim的C-fold插件,那么它看起来可能是一个很好的解决方案。这是一个详细的安装顺序,以使其工作:
(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
在~/.vimrc
:
让mysyntaxfile ='/ home / dchinner / .vim / syntax / doxygen_load.vim' autocmd FileType c,cpp set foldmethod = syntax autocmd FileType c,cpp set foldlevel = 10
请注意,foldlevel确定最初折叠的数量。高价值将确保大部分是开放的。
(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评论。
答案 0 :(得分:2)
syntax/c.vim
和syntax/doxygen.vim
都使用语法折叠。由于c.vim
中的折叠定义没有任何条件,因此您无法仅关闭一个部分。
您必须将默认$VIMRUNTIME/syntax/c.vim
分叉到~/.vim/syntax/c.vim
,并从语法命令中删除所有fold
属性。这应该只留下折叠的doxygen部分(:set foldmethod=syntax
)。缺点是从现在开始你必须保持特殊版本的c.vim
。