对于“标准”JavaScript,我有这个我喜欢的自定义折叠功能:
function! JavaScriptFold()
setl foldmethod=syntax
setl foldlevelstart=1
set fillchars=fold:\
syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend
function! FoldText()
return substitute(getline(v:foldstart), '{.*', '{...}', '')
endfunction
setl foldtext=FoldText()
endfunction
善良的灵魂请给我看一下CoffeeScript的翻译吗? 那么
testFunction = (x) ->
x + x
会像这样折叠成第一行
testFunction = (x) ->
折叠文字对象的加分点,但函数已经很好了!
PS:当然,我正在使用Vim的咖啡脚本插件
答案 0 :(得分:2)
由于我不知道cofee,而且我不知道它支持哪些文字对象,所以我无能为力。然而,你想要的,可以通过这个设置(可以转换成模式)来实现:
:setl fdm=expr fde=getline(v:lnum)=~'->$'?'>1':getline(v:lnum)=~'^\\s*$'?0:'='
你没有指定在折叠上显示什么,所以我把它留了出来。您可以使用foldtext设置。请参阅:h fold-foldtext
。