我们可以在Vim中指定多个foldmarker吗?

z9zf31ra  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(147)

我试着用:set foldmethod=marker折叠vim中的多行,我已经做了:set foldmarker={,},有没有什么方法可以折叠具有开始大括号='['和结束大括号=']'的函数,也可以折叠具有开始大括号='{'和结束大括号='}'的函数,就像在vscode中,我们可以折叠具有任何开始和结束大括号的任何函数一样。

mspsb9vt

mspsb9vt1#

:help folding开始:

There are six methods to select folds:
    manual      manually define folds
    indent      more indent means a higher fold level
    expr        specify an expression to define folds
    syntax      folds defined by syntax highlighting
    diff        folds for unchanged text
    marker      folds defined by markers in the text
  • 由于:help 'foldmarker'下给出的原因,marker不会提供帮助:
The marker is a literal string (a regular expression would be too slow).

请参阅:help fold-marker

  • diff是不相关的。

请参阅:help fold-diff

  • syntax可能会有所帮助,具体取决于语言以及该语言的语法脚本的编写方式。

请参阅:help fold-syntax

  • expr是功能最强大的方法,因为它可以让 * 您 * 准确地决定要折叠什么以及如何折叠。

由于显而易见的原因,它也是最难设置的。

  • indent是一个非常愚蠢的方法,这使得它非常节省内存并且用途广泛。你可以试试这个方法,因为它根本不关心括号。

请参阅:help fold-indent

  • 然后是manual方法,该方法允许您定义具有运动的褶皱。

这使您可以执行zfi{zf12j之类的操作。
请参阅:help fold-manual

相关问题