Domanda

ho avere due file aperti. Essi sono aperti in modo verticale, vicino al prossimo. Posso diff immediatamente questi due file senza lasciare o chiudere Vim?

È stato utile?

Soluzione

Per iniziare diffing su tutte le finestre visibili:

:windo diffthis

che esegue :diffthis su ogni finestra.

Per terminare diff modalità:

:diffoff!

(La ! rende diffoff applica a tutte le finestre della scheda corrente -. Sarebbe bello se diffthis ha avuto la stessa funzione, ma non è così)

Altri suggerimenti

in ciascuna delle finestre che si desidera diff tipo:

:diffthis

Se si vuole diff tutte le finestre aperte, si può fare:

:windo diffthis

(windo applicherà il comando per tutte le finestre aperte)

In seguito alle risposte precedenti,

  • :windo difft (abbreviazione di diffthis) inizierà diff modalità in tutte le finestre aperte.
  • :windo diffo (abbreviazione di diffoff) si fermerà diff modalità in tutte le finestre aperte.

Ho le seguenti mappature nel mio vimrc per rendere più facile:

command! Difft windo diffthis
command! Diffo windo diffoff

A seguito delle risposte precedenti mi sono adattato la mappatura fornita da @cxw Il seguente mappatura si chiude automaticamente NERDTree e diff le finestre aperte. Non importa se NERDTree è vicino, funziona allo stesso modo. Lo faccio abbastanza spesso in modo che mi ha salvato un bel po 'di tempo.

command! Difft NERDTreeClose | windo diffthis
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top