it-swarm.it

Confronto tra due file in Vim

È possibile visualizzare due file fianco a fianco in Vim? In tal caso, come posso impostare il mio editor per farlo, e c'è un modo per diff tra i due file all'interno di Vim?

Sono a conoscenza del :next e :prev comandi, ma questo non è ciò che sto cercando. Sarebbe davvero bello visualizzare i due file in tandem.

65
Zaid

Apri la vista affiancata:

Ctrl+w v

Cambia tra loro:

Ctrl+w h or l

Controlla il comando vimdiff, parte del pacchetto vim, se vuoi una vista simile a diff:

vimdiff file1.txt file2.txt
46
maxschlepzig

Puoi anche aprire vim in modalità schermo diviso, con -O opzione:-

vim -O file1 [file2 ...]

Per attivare la modalità diff, devi eseguire :diffthis comando in ciascun riquadro.

Un altro scenario d'uso è se hai già un file aperto in vim e vuoi aprirlo e confrontarlo con un altro. Quindi è possibile utilizzare i seguenti comandi vim: -

:vs otherfile (open otherfile in vertical split screen)
:diffthis (turn on diff mode in original file)
Ctrl+w l  (swap to newly opened file)
:diffthis (turn on diff mode in opened file)

È quindi possibile disattivare la modalità diff in ciascun riquadro con il comando vim :diffoff.

MODIFICARE
E l'altro standard che non è stato menzionato: -

vim -d file1 [file2 ...]

Ciò equivale a chiamare direttamente vimdiff.

44
Alex Leach

Puoi anche usare il comando vimdiff.

Esempio:

vimdiff file1.txt file2.txt
9
Ákos Kovács

Oppure apri il primo file in VIM, quindi :vert diffsplit file2 :vert consente di dividere lo schermo in verticale.

diffsplit fa un diff, divide i file e scorre e li blocca.

4
Dustin