Ich habe heute angefangen, vimdiff zu verwenden, und wollte einige der Dinge tun, die ich für Windows-basierte Diff-Editoren als selbstverständlich angesehen habe (z. B. einen Diff-Abschnitt erweitern / reduzieren, eine vollständige Dateierweiterung haben / nur Unterschiede mit 3 Kontextzeilen über oder unten usw.). Ich kenne derzeit nur die folgenden Befehle:
Tastatürkürzel:
do - Änderungen aus einem anderen Fenster in das aktuelle Fenster übernehmen.
dp - Übertragen Sie die Änderungen aus dem aktuellen Fenster in das andere Fenster.
]c - Zur nächsten Änderung springen.
[c - Zur vorherigen Änderung springen.
CTRL+ W, w- Wechseln Sie in das andere geteilte Fenster ( CTRL+ W, CTRL+ Wmacht dasselbe, falls Sie die CTRLTaste etwas später loslassen )
Könnte mich jemand in die richtige Richtung weisen, damit ich ähnliche Funktionen replizieren kann?
Es wäre schön, wenn ich zum Beispiel Linien um die Diffs erweitern / reduzieren könnte.
Antworten:
Abgesehen von den von Ihnen erwähnten verwende ich nur häufig, wenn ich Folgendes unterscheide:
:diffupdate
:diffu
-> Berechnen Sie das Diff neu. Dies ist nützlich, wenn vim nach mehreren Änderungen keine minimalen Änderungen mehr anzeigt. Beachten Sie, dass dies nur funktioniert, wenn die Dateien in vimdiff geändert wurden. Andernfalls verwenden Sie::e
um die Dateien neu zu laden, wenn sie außerhalb von vimdiff geändert wurden.:set noscrollbind
-> Deaktivieren Sie vorübergehend das gleichzeitige Scrollen in beiden Puffern, aktivieren Sie es erneut:set scrollbind
und scrollen Sie.Das meiste, wonach Sie gefragt haben, ist das Falten: das Kapitel über das Falten im vim-Benutzerhandbuch . Außerhalb von Unterschieden benutze ich manchmal:
zo
-> offene Falte.zc
-> Falte schließen.Aber Sie werden wahrscheinlich besser bedient sein von:
zr
-> Faltstufe reduzieren.zm
-> bitte noch eine Faltstufe.oder auch:
zR
-> Reduziere die Faltung komplett, sagte ich!.zM
-> Falte die meisten!.Das andere, wonach Sie gefragt haben, verwenden Sie n Faltlinien. Weitere Informationen finden Sie im Abschnitt zum vim-Referenzhandbuch zu Optionen über den Abschnitt zu diff :
set diffopt=<TAB>
, dann aktualisieren oder hinzufügencontext:n
.Sie sollten sich auch den Abschnitt mit der Bedienungsanleitung zu diff ansehen .
quelle
:set noscrollbind
es wirksam wird, muss es auch verwendet werden:set nocursorbind
, was nicht die Standardeinstellung ist. Daher müssen beide Optionen angepasst werden.Stellen Sie vimdiff so ein, dass Groß- und Kleinschreibung ignoriert wird
Nachdem ich mit vim diff angefangen habe
Ich finde, dass ärgerlicherweise eine Datei MySQL-Schlüsselwörter in Kleinbuchstaben enthält, während die andere in Großbuchstaben Unterschiede in praktisch jeder zweiten Zeile zeigt
Dadurch wird der Bildschirm dynamisch aktualisiert und Sie können ihn genauso einfach wieder ausschalten
quelle
Wenn Sie dies tun
Ctrl+W W
, müssen Sie dieses Extra nicht hinzufügenCtrl
. Macht das Gleiche.quelle
Strg + w, w kann wie erwähnt zum Navigieren von Fenster zu Fenster verwendet werden.
Jetzt können Sie eine bestimmte Änderung alleine auswählen und wie folgt in den anderen Bereich einfügen. Hier gebe ich ein Beispiel, als ob ich meinen Code von Bereich 1 in Bereich 2 ändern wollte, und derzeit befindet sich mein Cursor in Bereich 1
Verwenden Sie Umschalt-v, um eine Zeile hervorzuheben, und wählen Sie mit den Aufwärts- oder Abwärts-Tasten den gewünschten Code aus. Fahren Sie mit Schritt 3 fort, um Ihre Änderungen in den anderen Bereich einzufügen.
Verwenden Sie den visuellen Modus und ändern Sie ihn dann
1 Klicken Sie auf "v", um in den visuellen Modus zu gelangen. 2 Wählen Sie mit der Auf- oder Ab-Taste den gewünschten Code aus. 3 Klicken Sie auf "Esc". Escape-Taste. 4 Verwenden Sie nun "yy" zum Kopieren oder "dd", um die Änderung zu schneiden. 5 do ' Strg + W, W ', um zu Bereich 2 zu navigieren. 6 Klicken Sie auf' P ', um Ihre Änderung an der gewünschten Stelle einzufügen
quelle