How do I enable automatic folds in Vim?
如何在Vim中启用自动折叠?
要允许基于语法的折叠,请在
1 2 3 4 5 6 7 8 9 10 11 | set foldmethod=syntax set foldlevelstart=1 let javaScript_fold=1 " JavaScript let perl_fold=1 " Perl let php_folding=1 " PHP let r_syntax_folding=1 " R let ruby_fold=1 " Ruby let sh_fold_enabled=1 " sh let vimsyn_folding='af' " Vim script let xml_syntax_folding=1 " XML |
基于语法的折叠在$ VIM / syntax中的语言语法文件中定义。但是某些语言的语法文件中没有内置折叠规则。例如Python。对于这些语言,您需要从http://vim.sf.net下载可折叠的内容。否则,您将需要使用基于缩进的折叠。为了有效地做到这一点,您可能需要将以下内容添加到您的.vimrc文件中:
1 2 | set foldmethod=indent set foldnestmax=2 |
其他种类的折叠
折痕有6种:
1 2 3 4 5 6 | 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 |
我个人只使用语法折叠。通常我只想折叠方法而不折叠每个缩进级别。缩进不一致以及格式错误的旧版代码在工作中通常会使缩进折叠变得困难或不可能。在文档中添加标记很繁琐,并且不使用Vim的人在编辑文档时不会维护它们。手动折叠非常有用,直到有人在源代码管理中编辑您的代码并且所有折叠现在放在错误的位置为止。
更多阅读
JavaScript折叠对我也不起作用。我发现当我设置了语法= javaScript(大写的S)时,它突然起作用了。
在这里尝试了所有解决方案,但没有一个可以与NeoVim v0.3.1一起使用
直到我找到vim-javascript插件并开始折叠。
在新版本的Vim中启用折叠的方式已更改(我正在使用vim 7.4)。现在,您应该创建文件
1 | filetype plugin on |