3

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

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

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

4

0 回答 0