2011-04-26 78 views
7

我在我的vimrc以下:我第一次关闭折叠,它会关闭所有的折叠

set foldmethod=syntax 
set foldnestmax=3 
set nofoldenable 

当我打开一个文件,没有折叠,符合市场预期。我第一次使用zc关闭折叠,它会关闭全部递归折叠。然后,我发出zR,并将其全部显示出来,然后zc按预期行为,每次关闭一次。看起来,za表现相同的方式;它第一次折叠所有东西,每次之后都会折叠一件东西。

有没有办法让zc总是关闭一次?我基本上试图消除“关闭一切,然后揭示一切”的步骤,我必须随时做任何事情,我想折叠一些东西。

+0

za在我的Ubuntu 10.10上使用vim 7.2中的选项和java缓冲区工作。你在用什么语言?如果当前行不被识别为块,有时会关闭整个班级。 – Lynch 2011-04-26 00:51:39

+0

红宝石。 Python和PHP根本不会折叠(“E490:No fold found”),而Java展现出与Ruby相同的行为。这些是迄今为止我尝试的唯一四种语言。如果你认为别的东西可能会干扰,我的dotfiles是[here](https://github.com/tsigo/dotfiles/tree/master/vim)。 – 2011-04-26 04:00:45

回答

10

会发生什么情况是,按ZC将打开折叠(见:help zc),这将使得Vim默认应用'foldlevel'是0(意味着所有的折叠将被关闭)。所以如果你在你的vimrc中设置'foldlevel'为高值,它应该按预期工作。

+0

就是这样。谢谢。 – 2011-04-26 15:35:05

+0

如果您使用foldnestmax,那么将foldlevel设置为相同的值就足够高。 – 2014-05-06 13:53:56

相关问题