Come cambiare il modo in cui vim visualizza le linee compresse / piegate


5

Come posso cambiare il modo in cui vim mostra quelle linee compresse / piegate? Vorrei che mostrasse i numeri di riga nascosti nella coda ma non la testa. Ho cercato su Google e cercato su Vim wiki ma non ho trovato suggerimenti.

formato più grazioso di Vim Fold

Lo stile di piega è proprio come il lato destro della foto.


Dopo aver guardato " :help fold-foldtext" Non penso che ciò che vuoi sia possibile senza patchare il codice core di Vim.
Heptite,

Risposte:


8

Puoi giocare con il metodo descritto in questo post sul 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()

Ci sono molti , varianti , in realtà ; e c'è persino un vimcast su quell'argomento.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.