如何在vim中使用foldmethod缩进创建折叠?

时间:2016-07-29 14:06:07

标签: vim

我正在尝试学习如何在vim中使用折叠。 手动折叠效果很好,但我想知道如何通过缩进折叠。我希望它能像这样工作:

+------
   +--- | //Place marker here and press 'zf'
   +---
+------

将导致:

+------
<fold>
+------

但我得到了

E350: Cannot create fold with current 'foldmethod'

为什么我收到此错误的任何想法?

另外,有没有办法在花括号之间创建折叠?

1 个答案:

答案 0 :(得分:3)

如果您想根据缩进进行自动折叠,则需要将foldmethod选项设置为indent

:set foldmethod=indent

这就是为什么你得到那个错误的原因。我想它设置如上。

  

zf {motion} 或{Visual} zf操作员创建折叠。 这只能起作用   当'foldmethod'是“手动”或“标记”时。新的折叠将是   关闭“手动”方法。

您可以查看foldmethod:set foldmethod?

确认

每当你处于一系列具有相同缩进的时,你只需要点击 z a 以便该块将被折叠

如果您想手动创建折叠,则需要将foldmethod设置为manual

将光标放在其中一个花括号上,然后键入 z f ,它将折叠{}