Como mudar a maneira como o vim exibe linhas dobradas / dobradas

5

Como posso alterar a maneira como o vim exibe essas linhas colapsadas / dobradas? Eu gostaria que ele mostrasse números de linhas ocultas na cauda da linha, mas não na cabeça. Eu pesquisei e pesquisei no vim wiki, mas não encontrei dicas.

O estilo de dobra é como o lado direito da foto.

    
por pambda 22.10.2015 / 14:24

1 resposta

8

Você pode jogar com o método descrito em este post do blog :

function! NeatFoldText()
    let line = ' ' . substitute(getline(v:foldstart), '^\s*"\?\s*\|\s*"\?\s*{{' . '{\d*\s*', '', 'g') . ' '
    let lines_count = v:foldend - v:foldstart + 1
    let lines_count_text = '| ' . printf("%10s", lines_count . ' lines') . ' |'
    let foldchar = matchstr(&fillchars, 'fold:\zs.')
    let foldtextstart = strpart('+' . repeat(foldchar, v:foldlevel*2) . line, 0, (winwidth(0)*2)/3)
    let foldtextend = lines_count_text . repeat(foldchar, 8)
    let foldtextlength = strlen(substitute(foldtextstart . foldtextend, '.', 'x', 'g')) + &foldcolumn
    return foldtextstart . repeat(foldchar, winwidth(0)-foldtextlength) . foldtextend
endfunction

set foldtext=NeatFoldText()

Existem muitas , variantes , na verdade ; e há até mesmo um vimcast sobre esse mesmo assunto.

    
por 23.10.2015 / 01:12