我真的很喜欢 Vim 中的折叠功能,但有几个非文件缓冲区(例如 command-t 插件的窗口)我真的不希望它折叠,因为正常的折叠命令在那里不起作用。
如果我可以告诉 vim 不要自动关闭折叠(仅当我告诉它关闭时才关闭),那么应该可以解决问题,但我在 vim 帮助中没有看到任何可以更改该行为的选项。有没有办法启用折叠,但在创建缓冲区/打开文件时不会自动关闭所有折叠?
答案1
打开缓冲区时不关闭折叠的命令是
:set foldlevelstart=99
看
:help foldlevelstart
了解更多信息。
答案2
你可以做:
set nofoldenable
例如在我的 .vimrc 中我有:
set foldmethod=indent " automatically fold by indent level
set nofoldenable " ... but have folds open by default
答案3
zR 是打开所有折叠的命令。我假设您可以使用 vim 的自动命令 (au),只需在 .vimrc 中放置一个选项,在打开带有您不想自动关闭折叠的文件扩展名的缓冲区时发出命令 zR。如下所示:
au BufRead *.myext zR
尚未测试,实际上正确的语法可能是对 zR 使用 exe 命令:
au BufRead *.myext exe "zR"
我假设您谈论的是打开缓冲区时手动定义或自动定义的折叠的自动折叠。如果问题中的缓冲区根本不应该有折叠,那么这可能是一个不同的问题,您需要为这些缓冲区类型禁用折叠。