在我的 .vimrc 我放了 set foldmethod=syntax 但是,要折叠方法等。但是,我不喜欢每次打开文件时,整个内容都会折叠。有没有办法启用 foldmethod, ,但是当我打开文件时,文件是否已展开?

有帮助吗?

解决方案

set foldlevel=99

无论折叠方法如何,都应打开所有折叠。和 foldlevel=0 全部折叠, foldlevel=1 只有躯体,...较高的数字会关闭更少的折叠。

其他提示

你可以把它放在你的 .vimrc: au BufRead * normal zR

它声明一个自动命令(au),读取缓冲区时触发(BufRead),匹配所有文件(*)并执行 zR (打开所有折叠)在正常模式下命令。

set nofoldenable

将其添加到您的 .vimrc 打开文件时会暂时禁用折叠 zc

.vimrcBufWinEnter 这样可以自动打开所有折叠:

autocmd BufWinEnter * silent! :%foldopen!

告诉VIM执行 silent :%foldopen! 打开后 BunWinEnter 事件(请参阅 :h BufWinEnter)。这 silent %foldopen! 将执行 foldopen 整个缓冲区都多亏了 % 并将因为 !. 。任何最终的错误消息都将被抑制 silent. 。 (您可能会收到错误消息 E490: No fold found 如果缓冲区实际上还没有任何折叠)

注意:您可以使用 BufRead 代替 BufWinEnter 但是,如果文件具有模型,可以启用将覆盖此autoCMD的折叠。我是说 BufRead AutoCMD在处理Modeline之前运行,并且 BufWinEnter 会在之后运行。我发现以后更有用

如果您想在打开后立即展开显示它,则可以使用 set foldlevelstart=99 正如许多答案所解释的那样。

但是,如果您只想看到它们展开,则可以按 zi 它将展开一切。其他, zi 会关闭他们。

你可以加

set foldlevelstart=99

到您的.vimrc文件,它将开始编辑所有折叠打开的新文件。

您可以将其映射到键以启用它。例如,

nmap ,f :set foldmethod=syntax<CR>

然后在正常模式下达到“,f”键组合

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top