Vim-将折线上方的一行添加到折线中

问题描述 投票:2回答:1

当我在vim中编码时,我使用set foldmethod=syntax折叠我的代码。然后看起来像这样:

enter image description here

如何将{上方的行添加到折叠中?这样看起来像这样:

enter image description here

因此,想法是(总是)将折痕上方的线放入折痕中。我该如何做到这一点?

vim fold brackets
1个回答
0
投票

这需要与fold expression无关的自定义h fold-exprfoldtext

在您的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)
© www.soinside.com 2019 - 2024. All rights reserved.