我對vimscript中正則表達式的使用有點困惑。我真的盡力了,但match
函數不返回什麼,我期待它。在特殊情況下,我想創建一個自定義的摺疊式這樣:正則表達式到Vimscript正則表達式
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中的正則表達式? 「
沒有做到這一點,但所指的感謝!我要去研究它。 – Dionysis