我听说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
文件夹中删除所有(或特定于您)文件。