【问题标题】:Is it possible to use multiple foldmarkers in vim?是否可以在 vim 中使用多个折叠标记?
【发布时间】:2013-02-08 15:44:17
【问题描述】:

我在 Vim 中编写 C# 代码,我希望能够同时折叠两者

+---- 3 lines: void SomeFunction()-----------------------------------------------

还有

+---- 42 lines: #region The Answer To Life---------------------------------------

但是,foldmarker 必须是文字字符串。我被引导到foldmethod=syntax 的想法,但这在 Vim 7.3 中不能开箱即用。

除了将 fold 方法设置为手动并编写脚本之外,我该如何实现呢?

【问题讨论】:

  • this page 帮忙吗?
  • but this doesn't work out of the box in Vim 7.3. 这是什么意思?如果你可以折叠文本,你用+folding 编译你的vim。你可以使用foldmethod=syntax
  • foldmethod=syntax,当我进入{ } 并点击zc 关闭折叠时,它不会关闭任何东西。

标签: vim folding


【解决方案1】:

我的 Vim 7.3 运行时有一个 syntax/cs.vim 文件(自 2009 年 8 月 14 日起),它支持 #region 的语法折叠。语法折叠很好;我建议不要使用另一种折叠方法。我会联系语法文件的作者,并建议将缺少的函数折叠作为增强功能;许多其他文件类型都有这个,它似乎很常见并且很有帮助。 (这可以为那些不想要一个或另一个的人进行配置。)

同时,您可以将以下内容添加到~/.vim/after/syntax/cs.vim 以启用任何花括号块的折叠:

syn region csFold start="{" end="}" transparent fold

【讨论】:

  • 谢谢 - 效果很好!这应该是公认的答案!
  • 这对我仍然有效
猜你喜欢
  • 1970-01-01
  • 2015-02-08
  • 2012-06-13
  • 1970-01-01
  • 2020-02-04
  • 2023-03-13
  • 1970-01-01
  • 2014-01-12
  • 2010-10-22
相关资源
最近更新 更多