我正在尝试学习如何在vim中使用折叠。 手动折叠效果很好,但我想知道如何通过缩进折叠。我希望它能像这样工作:
+------
+--- | //Place marker here and press 'zf'
+---
+------
将导致:
+------
<fold>
+------
但我得到了
E350: Cannot create fold with current 'foldmethod'
为什么我收到此错误的任何想法?
另外,有没有办法在花括号之间创建折叠?
答案 0 :(得分:3)
如果您想根据缩进进行自动折叠,则需要将foldmethod
选项设置为indent
值
:set foldmethod=indent
这就是为什么你得到那个错误的原因。我想它设置如上。
zf {motion} 或{Visual} zf操作员创建折叠。 这只能起作用 当'foldmethod'是“手动”或“标记”时。新的折叠将是 关闭“手动”方法。
您可以查看foldmethod
以:set foldmethod?
每当你处于一系列具有相同缩进的行时,你只需要点击 z a 以便该块将被折叠
如果您想手动创建折叠,则需要将foldmethod
设置为manual
。
将光标放在其中一个花括号上,然后键入 z f %,它将折叠{}