关于vim折叠的困惑 – 如何禁用?
- 当我打开文件,看起来像这样: 甚至是这个
- 当我打开所有的折叠,当我导航到另一个缓冲区,他们又被closures,然后回来。
- 为了能够使用它,每次打开缓冲区时都必须应用
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=20
, foldlevelstart=20
,我使用foldmethod=syntax
。 这有助于我正确地在vim中进行折叠。
set nofoldenable
禁用折叠,但有时我需要它
vim.wikia