关于vim折叠的困惑 – 如何禁用?

  1. 当我打开文件,看起来像这样: 在这里输入图像说明 甚至是这个 在这里输入图像说明
  2. 当我打开所有的折叠,当我导航到另一个缓冲区,他们又被closures,然后回来。
  3. 为了能够使用它,每次打开缓冲区时都必须应用zR

我有这些在.vimrc设置:

 set foldlevelstart=99 set foldlevel=99 

请指点我如何禁用折叠,或至less使导航到另一个缓冲区不closures打开的。

你不是一个人。

 set nofoldenable " disable folding 

在你的〜/ .vimrc中joinset nofoldenable来禁止折叠。

禁用(和启用)即时折叠最简单的方法是zi

zi是切换'foldenable'的正常模式命令,就像:set foldenable!

助记符:“弃牌”。 参见:h zi

这里简要概括一下为什么折叠很酷。 一条线的原因是,折叠使浏览非常大的文件轻而易举。

如果你想保持折叠启用,并总是开始所有折叠打开,vim wiki 告诉如何。 你感兴趣的方法可能是自动命令方法。

 " Tweak the event and filetypes matched to your liking. " Note, perl automatically sets foldmethod in the syntax file autocmd Syntax c,cpp,vim,xml,html,xhtml setlocal foldmethod=syntax autocmd Syntax c,cpp,vim,xml,html,xhtml,perl normal zR 

我也build议为您使用的语言search自定义折叠方法。 简单的使用“vim <在这里插入语言>折叠”应该带来一些选项。 玩不同的select,直到你find你喜欢的折叠方法。

只需再增加一个即可完成讨论。

要启用代码折叠:

:set foldenable或简称, :set fen

禁用代码折叠:

:set nofoldenable或简称:set nofen

一旦启用了代码折叠function,您可以根据需要设置所有命令,如zf,zo etc :set fdm=xxxx其中典型值为expr,syntax,manual etc.

我已经将这行添加到我的.vimrc文件因为我有同样的问题:

autocmd FileType * exe "normal zR"

每次您自动打开文件时,都会执行该命令。 所以你不会看到bug,折叠function也不会丢失)

对不起,如果我正在回答相关的问题,但我发现有用的显示两个文件旁边折叠closures像这样的东西:

 vim "+set nofen" -O file1 file2 

Vim很难禁用折叠,特别是在使用vimdiff的时候。
没有上述的解决scheme为我工作,但是这样做(添加到〜/ .vimrc):

 au WinEnter * set nofen au WinLeave * set nofen 

我设置foldlevel=20foldlevelstart=20 ,我使用foldmethod=syntax 。 这有助于我正确地在vim中进行折叠。

set nofoldenable禁用折叠,但有时我需要它

vim.wikia