- 打开文件时看起来像这样:
或者甚至是这个
- 当我展开所有折叠后,在导航到另一个缓冲区并返回后,它们又被关闭了。
- 为了能够使用它,每次打开缓冲区时都必须应用
zR
。
我在.vimrc
中设置了这些内容:
set foldlevelstart=99
set foldlevel=99
请指导我如何禁用折叠功能,或者至少使导航到另一个缓冲区时不关闭已打开的缓冲区。你并不孤单。
set nofoldenable " disable folding
diffopt
的context
子选项设置为非常大的值。例如:set diffopt+=context:99999
。 - Laurence Gonsalveslet g:vim_markdown_folding_disabled=1
。 - slmz
-> fold
的助记符是“z看起来像是折叠的” - undefined将 set nofoldenable
添加到您的 ~/.vimrc 文件中以禁用折叠功能。
这篇文章简洁地解释了为什么折叠很棒。最重要的原因是,折叠能让你轻松浏览非常大的文件。
如果你想保留折叠功能,并且始终以所有折叠打开的方式打开文件,vim维基提供了相应的方法。对你最有用的方法可能是自动命令方法。
" 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
我还建议您搜索适用于所使用语言的自定义折叠方法。只需谷歌搜索"vim <插入语言名称> 折叠"即可找到多种选项。尝试不同的选项,直到找到喜欢的折叠方法。
.vimrc
文件中,因为我也遇到了同样的问题:
autocmd FileType * exe "normal zR"
每次打开文件时,此命令会自动执行。这样你就不会看到这个错误,而且折叠功能也不会丢失。Vim让禁用折叠变得非常困难,特别是在使用vimdiff时。
以上发布的解决方案都不适用于我,但这个可以(添加到~/.vimrc文件中):
au WinEnter * set nofen
au WinLeave * set nofen
set nofoldenable
。真是奇怪。 - TamaMcGlinn:diffobtain
命令后,文件的Git索引仍然会折叠。 - TamaMcGlinnfoldlevel=20
,foldlevelstart=20
设置为默认值,并使用foldmethod=syntax
,这有助于我在vim中正确折叠代码。
set nofoldenable
可以禁用折叠,但有时我需要它。
vim "+set nofen" -O file1 file2
:set foldlevel
和:set foldlevelstart
命令以查看它们的设置。我最初的猜测是这些值在某处被重置了。当我将这些值添加到我的vimrc中时,一切都按预期工作。 - cledoux