作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
如何在 Vim 中启用自动折叠? set foldmethod=syntax
似乎没什么作用。
最佳答案
要允许基于语法的折叠,请将如下内容添加到您的 .vimrc
:
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
或 /usr/share/vim/vimXX/syntax/
的语言语法文件中定义的。但是有些语言的语法文件中没有内置折叠规则;例如 python 。对于这些语言,您需要从 http://vim.sf.net 下载一些东西那确实折叠。否则,您将需要使用基于缩进的折叠。为了有效地做到这一点,您可能需要将以下内容添加到您的 .vimrc
文件中:
set foldmethod=indent
set foldnestmax=2
折叠有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 的人在编辑文档时不会维护它们。手动折叠效果很好,直到有人在源代码管理中编辑您的代码并且您的所有折叠现在都在错误的位置。
:help fold-methods
以了解不同折叠方法的详细信息。:help folding
了解操作折叠的键盘命令。:help folds
以获取有关折叠整个主题的帮助。关于javascript - 如何在 Vim 中启用自动折叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789605/
我是一名优秀的程序员,十分优秀!