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

时间:2009-04-17 03:41:21

标签: vim code-folding

我一直在寻找一种解决方案,它将折叠标记和代码放到外部隐藏文件中。 通过这种方式,您可以永久折叠而无需额外的折叠标记。

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

3 个答案:

答案 0 :(得分:4)

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

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

但我认为,你的意思是,“我可以定义一个外部文件,所以我可以通过项目自定义折叠,以便每个使用vim后我给他们文件的人都会有相同的折叠”?是的,我想你可以通过上述方法推断出来。

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

  • manual - 你手动定义折叠的地方(这很好,但是它会给你的代码留下很多大括号,但它是“便携的”)
  • 缩进 - 其中indending定义folds
  • 表达(我提到过)
  • 语法 - 由语法高亮定义
  • 标记 - 您已经知道

...最后,它将归结为你的vimrc中的那些设置。

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

答案 1 :(得分:3)

通过将这两行放在〜/ .vimrc

中,可以使Vim以文件方式记住文件中的折叠

au BufWinLeave?* mkview au BufWinEnter?* silent loadview

答案 2 :(得分:2)

使用manual制作折叠的方法。这与上面隐含的marker不同。使用:mkview保存折叠,使用:loadview重新加载。