So ändern Sie die Art und Weise, wie vim ausgeblendete / gefaltete Linien anzeigt

1816
pambda

Wie kann ich die Art und Weise ändern, in der vim diese ausgeblendeten / gefalteten Linien anzeigt? Ich möchte, dass es versteckte Zeilennummern am Zeilenende zeigt, aber nicht den Kopf. Ich habe gegoogelt und vim Wiki gesucht, aber keine Hinweise gefunden.

mehr hübsches vim fold-format

Der Falzstil entspricht der rechten Seite des Bildes.

5
Nach einem Blick auf "`: help fold-foldtext "denke ich nicht, dass das, was Sie wollen, ohne das Patchen des Vim-Kerncodes möglich ist. Heptite vor 8 Jahren 0

1 Antwort auf die Frage

8
romainl

Sie könnten mit der in diesem Blogbeitrag beschriebenen Methode spielen :

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() 

Es gibt viele, Varianten, tatsächlich ; und es gibt sogar einen vimcast zu diesem thema .