Wie kann ich aktivieren und tun Code - Faltung in Vim?
Muss ich irgendetwas ändern ~/.vimrc
?
Ich tippe z+ aund z+ cund z+ ound nichts passiert.
Hier ist ein Artikel über das Falzen: Code-Falzen in Vim .
Wie kann ich aktivieren und tun Code - Faltung in Vim?
Muss ich irgendetwas ändern ~/.vimrc
?
Ich tippe z+ aund z+ cund z+ ound nichts passiert.
Hier ist ein Artikel über das Falzen: Code-Falzen in Vim .
Antworten:
Nein , Sie müssen nicht den Befehl setzen von der Seite , die Sie verknüpft in Ihrem ~/.vimrc
, können Sie nur sie geben nach der Ausgabe :
in vim
die Eingabeaufforderung zu erhalten.
Wenn Sie jedoch die Zeilen setzen:
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=2
Wie in dem Link angegeben, den Sie in Ihrem angegeben haben ~/.vimrc
, müssen Sie sie nicht jedes Mal eingeben, wenn Sie das Falzen in einer Datei verwenden möchten. Das set nofoldenable
stellt sicher, dass beim Öffnen die Dateien "normal" sind, also nicht gefaltet werden.
:
. Sie geben die set
Befehle nach der Eingabeaufforderung ein, die Sie bei der Eingabe erhalten :
. Das, was zc
Sie eingeben, wenn Sie den Cursor frei bewegen können, genau wie Sie es verwenden würden zt
, um den Text, auf dem sich der Cursor befindet, an den oberen Rand des aktuellen Bildschirms zu bringen.
Die voreingestellte Faltmethode von Vim manual
bedeutet, dass die Falten manuell erstellt werden. andernfalls wird es keine Falte geschlossen oder geöffnet werden za, zooder zcwie Sie beschrieben. Sie können jedoch zf{motion}
im normalen Modus oder zfim visuellen Modus eine Falte erstellen . Beispiel: zfjErstellt eine Falte für die aktuelle und die nächste Zeile im normalen Modus.
indent
Die von @Anthon akzeptierte Antwort beschreibt, wie die Faltmethode auf gesetzt wird indent
. dh die Faltung wird durch die Ebene der Vertiefungen definiert.
syntax
Auf eine bequemere Weise können Falten automatisch auf der Grundlage der Sprachsyntax des aktuellen Puffers erstellt werden. Wenn Sie eine Programmiersprache verwenden, nennen wir sie L , und Sie haben eine Folding-Definition von L (z. B. haben Sie ein Vim-Plugin installiert, in dem die Folding-Informationen von L definiert sind; z. B. c.vim für C / C ++ oder Python) -Modus für Python), müssen Sie nur die Faltmethode auf Folgendes einstellen syntax
:
set foldmethod=syntax
Das ist es. Die nützlichsten Befehle zum Arbeiten mit Falten sind:
foldlevel
um eins.foldlevel
um eins.foldlevel
auf Null - alle Faltungen sind offen.Sie müssen es nicht systematisch anwenden: Ich wähle Falten normalerweise manuell nach Bewegung oder Schnitt aus. Wenn Sie beispielsweise einen Absatz zfip
falten, werden die nächsten 20 Zeilen gefaltet zf20j
. Verwenden Sie za
zu wechseln und zd
zu entfernen.
Dies erfordert ein wenig mehr Arbeit, ermöglicht jedoch das Falten, um die vorliegende Aufgabe widerzuspiegeln.
Sie können folding
in der aktuellen Sitzung beispielsweise @ Anthons Antwort aktivieren . Wenn Sie es jedoch dauerhaft machen möchten, müssen Sie mindestens diese Zeile .vimrc
für die Falzarbeit festlegen:
set foldmethod=indent
indent
ist eine Art Faltung, von der man mehr sehen kann :help foldmethod
'foldmethod' 'fdm' string (default: "manual")
local to window
{not in Vi}
{not available when compiled without the +folding
feature}
The kind of folding used for the current window. Possible values:
fold-manual manual Folds are created manually.
fold-indent indent Lines with equal indent form a fold.
fold-expr expr 'foldexpr' gives the fold level of a line.
fold-marker marker Markers are used to specify folds.
fold-syntax syntax Syntax highlighting items specify folds.
fold-diff diff Fold text that is not changed.
Jetzt können Sie jedes Mal, wenn Sie eine Datei mit öffnen vim
, sehen, dass der Code nach der von Ihnen festgelegten Methode gefaltet wird. Dann können Sie verwenden za
, zc
, zo
.