使用Vim,实现仅折叠功能块的PHP代码折叠的最佳方法是什么?

Gar*_*hby 2 php vim folding

我目前正在使用Vim编辑PHP文件,并希望仅为函数实现代码折叠.我已经尝试在我的.vimrc文件中设置foldmethod=expr和使用正则表达式foldexpr.问题是我不完全理解如何foldexpr使用正则表达式将折叠应用于源代码,我似乎无法做到正确.

基本上我想要折叠所有PHP函数(内部类),就是这样.我最近的是:

set foldexpr=getline(v:lnum-1)=~'function'?'>1':'='
Run Code Online (Sandbox Code Playgroud)

但它不对,我想看看我是否可以通过花括号更加智能化.

有任何想法吗?

Gar*_*hby 12

我通过使用内置的PHP插件实现了我所需要的,通过将其放入我的.vimrc文件而不使用任何其他折叠设置来激活.

let php_folding = 1        "Set PHP folding of classes and functions.
let php_htmlInStrings = 1  "Syntax highlight HTML code inside PHP strings.
let php_sql_query = 1      "Syntax highlight SQL code inside PHP strings.
let php_noShortTags = 1    "Disable PHP short tags.
Run Code Online (Sandbox Code Playgroud)