vim 更改为新文件时折叠不起作用

vim folds don't work when changing to new file

如果我从命令行使用 nvim 打开一个文件,那么它会在所有折叠都关闭的情况下出现:nvim foo.cpp

然后,如果我打开另一个文件 :find bar.cpp 则折叠不会出现,如果我输入 \za \zc ... 程序会抛出错误 E490: No fold found.

我的init.vim:

...
set foldenable
...

保存折叠的一些方法:

  1. 如果 foldmethod 设置为 manual 那么您可以使用 Vim 的会话 (:help session) 来保存弃牌。例如加载文件 bar.cpp。然后用 :fold 定义一些折叠。保存当前会话 :mks bar.vim。退出 vim :q。然后打开 Vim 作为 vim -S bar.vim(或者打开 vim 和 运行 命令 :so bar.vim)。

  2. 与方法 1 类似,但使用 :mkview bar.vim 而不是 :mks bar.vim。退出 Vim 并编辑文件 bar.cpp 然后执行 :loadview:so bar.vim.

  3. foldmethod 设置为 marker 然后编辑 bar.cpp 并使用 :fold 制作您想要的折叠。折叠区域将由 foldmarker 选项定义的三重括号 {{{,}}} 括起来。现在,即使在关闭文件后,折叠也会持续存在。此方法不需要保存会话或视图。

方法 1 和 2 假设 fold 包含在 sessionoptionsviewoptions 中。