vim - vim 中可以使用多个文件夹标记吗?

标签 vim folding

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

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

以及

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

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

除了将折叠方法设置为手动并编写脚本之外,我怎样才能实现这一目标?

最佳答案

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

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

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

关于vim - vim 中可以使用多个文件夹标记吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776215/

相关文章:

vim - 宏中的条件操作

css - VSCode 中 CSS 的代码折叠

linux - vim 和 sudo vim 在 openSUSE 上使用不同的设置

github - 如何在Github markdown中折叠内容?

python - 如何在 QScintilla 中实现 SublimeText 的逐级折叠功能

vim - 如何在 Vim 中模拟 TextMate 的命令返回功能

Vim: `cd` 到存储在变量中的路径

search - 使用 vim 按十六进制代码搜索

vim - 在 Vim 中删除函数参数的最快方法

vim - `set foldmethod=syntax`让vim变慢,`set foldmethod=indent`不够好,怎么办?