我对在 vimscript 中使用正则表达式有点困惑。我真的尝试过,但该match
函数没有返回我期望的结果。在特定情况下,我试图创建一个自定义折叠表达式:
function! SuperColliderFolds()
let thisline = getline(v:lnum)
if match(thisline, '^[\s\t\n]*[[:lower:]]\w*\s*{') >= 0
return "1"
elseif match(thisline, '^entity'') >= 0
return ">2"
else
return "="
endif
endfunction
setlocal foldmethod=expr
setlocal foldexpr=SuperColliderFolds()
正则表达式应该折叠具有如下结构的类的所有方法:
ClassName{
methodName{//implementation
}
}
但它不起作用......在特定示例上获得帮助是理想的,但问题更多的是“关于vimscript正则表达式我缺少什么?”