【问题标题】:How can you control folds by an external file in Vim?如何在 Vim 中通过外部文件控制折叠?
【发布时间】:2009-04-17 03:41:21
【问题描述】:

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

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

【问题讨论】:

    标签: vim code-folding


    【解决方案1】:

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

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

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

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        使用manual 方法进行折叠。这与上面暗示的marker 不同。使用:mkview 保存折叠并使用:loadview 重新加载它们。

        【讨论】:

          猜你喜欢
          • 2014-05-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-13
          • 2013-09-10
          • 1970-01-01
          相关资源
          最近更新 更多