Wie setze ich die Standardeinstellung auf Entfaltung, wenn Sie eine Datei öffnen?
Frage
In meinem .vimrc
Ich habe gestellt set foldmethod=syntax
Um das Falten von Methoden usw. zu aktivieren, mag ich jedoch nicht die Standardeinstellung, dass jedes Mal, wenn ich eine Datei öffne, das Ganze gefaltet ist. Gibt es eine Möglichkeit zu aktivieren? foldmethod
, Haben Sie doch Dateien entfaltet, wenn ich sie öffne?
Lösung
set foldlevel=99
Sollte alle Falten öffnen, unabhängig von der Methode, die zum Falten verwendet wird. Mit foldlevel=0
alles gefaltet, foldlevel=1
Nur Somes, ... höhere Zahlen schließen weniger Falten.
Andere Tipps
Sie können dies in Ihre geben .vimrc
:
au BufRead * normal zR
Es deklariert einen automatischen Befehl (au
), ausgelöst, wenn ein Puffer gelesen wird ((BufRead
), übereinstimmen alle Dateien (*
) und führt die aus zR
(öffnet alle Falten) Befehl im normalen Modus.
set nofoldenable
Hinzufügen dies zu Ihrem .vimrc
deaktiviert das Falten vorübergehend, wenn Sie die Datei öffnen, Falten können jedoch weiterhin mit mit denen wiederhergestellt werden zc
Im .vimrc
Fügen Sie ein AutoCMD für hinzu BufWinEnter
So öffnen Sie alle Falten automatisch wie folgt:
autocmd BufWinEnter * silent! :%foldopen!
Das fordert Vim auf, das auszuführen silent :%foldopen!
Nach dem Öffnen BunWinEnter
Veranstaltung (siehe :h BufWinEnter
). Das silent %foldopen!
wird ausführen foldopen
im gesamten Puffer dank der %
und wird alle Falten rekursiv wegen der öffnen !
. Eine eventuelle Fehlermeldung wird durch unterdrückt durch silent
. (Sie können Fehlermeldungen wie erhalten E490: No fold found
Wenn der Puffer noch keine Falte enthielt)
Hinweis: Sie könnten verwenden BufRead
Anstatt von BufWinEnter
Aber wenn die Datei über eine Modelline verfügt, die die Faltung ermöglicht, die dieses AutoCMD überschreibt. Ich meine BufRead
autocmds laufen vor dem modeline verarbeitet und BufWinEnter
Wird sie danach laufen lassen. Ich finde das spätere nützlicher
Wenn Sie eine Möglichkeit haben möchten, dass sich die Anzeige entfaltet, sobald es geöffnet ist, können Sie verwenden set foldlevelstart=99
Wie viele Antworten erklärt.
Aber wenn Sie sie nur entfalten sehen möchten, können Sie einfach drücken zi
Und es wird alles entfalten. Andere, zi
Wird sie zurückschließen.
Du kannst hinzufügen
set foldlevelstart=99
In Ihrer .vimrc -Datei und mit der Bearbeitung einer neuen Datei mit allen geöffneten Falten.
Sie können es den Schlüssel zuordnen, um es zu aktivieren. Zum Beispiel,
nmap ,f :set foldmethod=syntax<CR>
Dann drücken Sie im normalen Modus die Schlüsselkombination ", f"