Antworten:
Sie können :set foldcolumn=<number>
eine <number>
breite Spalte anzeigen , die versucht, Falzstufen zu visualisieren. Standardmäßig würde es ungefähr so aussehen (mit einer Marker-Fold-Methode unter Verwendung von {{{
und }}}
):
- {{{ Top Level Fold
|- {{{ Nested Fold
||- {{{ Deepest Fold
||| }}}
|| }}}
|- {{{ Another Nested Fold
|| }}}
| }}}
Dies verbraucht jedoch ziemlich viel horizontale Immobilien. Eine andere Methode wäre, eine benutzerdefinierte foldtext()
Implementierung zu schreiben , die die Faltebene mit liest foldlevel()
und entsprechend formatiert. Dies verschwendet weniger horizontalen Platz, ist jedoch für das visuelle Verständnis des Baums nicht so hilfreich, da Sie die Falten unter einer zusammengeklappten Falte nicht sehen können. Zum Beispiel Ihre .vimrc
:
set foldtext=CustomFoldText()
function! CustomFoldText()
let line = getline(v:foldstart) . "..."
return repeat("--| ", v:foldlevel) . line
endfunction
Es gibt Plugins, die On-Demand-Visualisierungen der Fold-Hierarchie bereitstellen , z. B. folddigest.vim . Sie arbeiten im Wesentlichen, indem sie die Faltebene jeder Zeile analysieren, eine geeignete Datenstruktur aufbauen und eine Visualisierung der Datenstruktur in einem neuen Puffer speichern. Sie könnten die Technik wahrscheinlich an Ihre eigenen Bedürfnisse anpassen.
Möglicherweise möchten Sie sich auch Plugins ansehen, die "Einrückungshandbücher" wie dieses bereitstellen . Ich habe sie nie persönlich verwendet, und ich habe gehört, dass sie bei einigen Personen Leistungsprobleme verursachen, da sie im Allgemeinen viele benutzerdefinierte Match-Highlights über generieren matchadd()
, aber Ihr Kilometerstand kann variieren.