当我在vim中编码时,我使用set foldmethod=syntax
折叠我的代码。然后看起来像这样:
如何将{
上方的行添加到折叠中?这样看起来像这样:
因此,想法是(总是)将折痕上方的线放入折痕中。我该如何做到这一点?
这需要与fold expression
无关的自定义h fold-expr
(foldtext
)
在您的vimrc中:
" Callback: Fold level <- next line indent
function! FoldMethod(lnum)
let l:indent = max([indent(a:lnum+1), indent(a:lnum)])
return l:indent / &shiftwidth
endfunction
set foldmethod=expr
set foldexpr=FoldMethod(v:lnum)