自动折叠C ++源代码和标头

时间:2014-03-17 08:40:52

标签: c++ vim folding spf13vim

我听说Vim内置了对用各种编程语言编写的文件进行折叠的支持。特别是我对cpp,h,hpp文件感兴趣。我想在每个新打开的源文件中默认折叠所有函数定义时实现Vim的这种行为。我不想用zF手动创建每个折叠。

我在~/.vimrc文件的末尾添加了以下行(继承自spf13-vim distribution):

set foldenable
autocmd FileType c,cpp,h,hpp setlocal foldmethod=syntax

不幸的是,没有达到预期的行为。所有文件看起来都一样,我尝试使用zc组合隐藏该功能会导致错误:

  

E490:没有找到折叠

如果有人能解释如何在Vim 7.4中默认启用折叠,我会很高兴。

UPD:上面的代码运行良好,但最近打开的文件仍然存在问题。假设我们处理名为'sc-client-server'的项目,我们只是将这两行附加到〜/ .vimrc,现在准备回到上一个编辑过的文件:

$ vim ~/.vimrc                                   //Modify config
$ reboot
$ vim ~/progs/sc-client-server/src/st.cpp        //No fold found. BUT: 
$ cp ~/progs/sc-client-server/src/st.cpp  /tmp
$ vim /tmp/st.cpp                                //Auto fold works fine. OR:
$ cd ~/progs/sc-client-server/src/ && mv src source
$ vim ~/progs/sc-client-server/source/st.cpp     //Auto fold works fine. 

Vim中是否有任何类型的缓存或内存阻止了所需的文件表示?

答案~/.vimviews文件夹中删除所有(或特定于您)文件。

致偏离主题的选民 https://meta.stackexchange.com/questions/25925/vim-questions-do-they-belong-to-stack-overflow-or-super-user/25930#25930?newreg=00a4918bba924cfa8b1d6a3e82061672

0 个答案:

没有答案