我在互联网上看到了部分解决方案,但没有一个真正令我满意:我必须在 .vimrc 中放入什么(理想情况下我不想碰上任何语法/*.vim 文件),以便在所有 .c/cpp 中/h 我打开的文件,我得到自动折叠#ifdef ... #endif
部分?
如果您想要的唯一折叠类型是#ifdef
部分,最简单的方法是创建一个文件~/.vim/after/ftplugin/c.vim
(您可能还需要在cpp.vim
,我不确定),内容如下:
set foldmarker=#ifdef,#endif
set foldmethod=marker
如果你真的想把它放进去.vimrc
而不是使用~/.vim/after/
结构,你可以这样做:
autocmd FileType *.[ch]{,pp} call FoldPreprocessor()
function! FoldPreprocessor()
set foldmarker=#ifdef,#endif
set foldmethod=marker
endfunction
您可能还想考虑使用:
set foldmarker=#if,#endif
因为那样会抓住#if defined(...)
, #ifdef
, #ifndef
, #if 0
等等以及#ifdef
.
使用语法折叠来执行此操作更具挑战性,因为您必须更改语法规范,因为它不支持将此作为标准。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)