1

我一直在寻找一种将折叠标记和代码放入外部隐藏文件的解决方案。这样,您就可以在没有额外折叠标志的情况下进行永久折叠。

如何在 Vim 中通过外部文件控制折叠?

4

3 回答 3

4

这是一个非常笼统的问题。vim 中的“外部文件”到底是什么?毕竟,Vim 是“外部”文件的集合。因此,如果我在 vimfiles 中定义折叠首选项,那是“外部文件”解决方案吗?

例如,您可以链接,定义折叠的正则表达式机制并从外部文件中获取它们。

但我想,你说的是,“我可以定义一个外部文件,这样我就可以按项目自定义折叠,这样在我给他们我的文件后使用 vim 的每个人都会有相同的折叠”?是的,我想你可以通过从上面的方法推断来做到这一点。

但请记住,vim 有几种折叠方法:

  • 手动 - 您手动定义折叠的地方(这很好,但它让您的代码有很多大括号,但它是“可移植的”)
  • indenting - 缩进定义折叠
  • 表达(我提到过)
  • 语法 - 由语法高亮定义
  • 标记 - 你已经知道了

...最后,这一切都将归结为您的 vimrc 中的那几个设置。

我的建议:不要更改 vim 的缩进、语法等文件。通常,您甚至不需要更改这些(除非您使用的语言 vim 不支持,我对此表示怀疑)。因此,在您的 vimrc 和 vimfiles 目录中定义您的设置和首选项,并只为您的同事提供他们需要的首选项(通常只是来自 vimrc 的首选项)以具有相同的折叠行为。

于 2009-04-17T04:12:55.033 回答
3

通过将这两行放在 ~/.vimrc 中,Vim 可以自动记住文件中的折叠

au BufWinLeave ?* mkview au BufWinEnter ?* 静默加载视图

于 2009-12-25T06:13:04.723 回答
2

使用manual方法制作褶皱。这与marker上面所暗示的不同。用于:mkview保存折叠并:loadview重新加载它们。

于 2009-04-17T04:43:37.113 回答