it-swarm.com.de

Nehmen Sie den Unterschied von zwei vertikal geöffneten Fenstern in Vim

Ich habe zwei Dateien geöffnet. Sie werden im vertikalen Modus neben dem nächsten geöffnet. Kann ich diese beiden Dateien sofort unterscheiden, ohne Vim zu verlassen oder zu schließen?

76
Fatih Arslan

So beginnen Sie den Unterschied in allen sichtbaren Fenstern:

:windo diffthis

was :diffthis in jedem Fenster ausführt.

Um den Diff-Modus zu beenden:

:diffoff!

(Der ! bewirkt, dass diffoff für alle Fenster des aktuellen Registers gilt. Wenn diffthis dieselbe Funktion hätte, wäre dies Nizza, wäre es aber nicht.)

115
Nefrubyr

in jedes Fenster, das Sie differenzieren möchten, geben Sie Folgendes ein:

:diffthis

Wenn Sie alle geöffneten Fenster unterscheiden möchten, können Sie Folgendes tun:

:windo diffthis

(windo wendet den Befehl auf alle geöffneten Fenster an.)

19
Nathan Fellman

Folgen Sie den früheren Antworten, 

  • :windo difft (kurz für diffthis) startet den Diff-Modus in allen geöffneten Fenstern.
  • :windo diffo (kurz für diffoff) stoppt den Diff-Modus in allen geöffneten Fenstern.

Ich habe die folgenden Zuordnungen in meiner vimrc, um es einfacher zu machen:

command! Difft windo diffthis
command! Diffo windo diffoff
1
cxw

In Anlehnung an die vorherigen Antworten habe ich das von @cxw bereitgestellte Mapping angepasst. Das folgende Mapping schließt NERDTree und die geöffneten Fenster automatisch. Es ist egal, ob NERDTree in der Nähe ist, es funktioniert genauso. Ich mache das ziemlich oft, also hat es mir eine Menge Zeit gespart.

command! Difft NERDTreeClose | windo diffthis
0
Jordi Freixa