Vim - Diff

Simile al comando diff di UNIX, possiamo usare Vim per mostrare diff in modo molto migliore. Mostrerà diff in modo colorato. In questo capitolo, discuteremo i seguenti elementi:

  • Mostra le differenze tra i file
  • Attiva e disattiva la modalità diff
  • Navigazione in modalità diff
  • Applicazione delle modifiche dalla finestra delle differenze

Mostra la differenza

Per mostrare le differenze tra i file eseguire il comando seguente:

$ vimdiff <file> <file> 
OR 
$ vim –d <file> <file>

Ad esempio, il comando seguente mostra le differenze:

Nell'immagine sopra, il testo evidenziato in colore magenta è comune. Il testo rimanente è evidenziato in colore rosso che indica che ci sono alcune differenze dopo il testo comune.

Attiva e disattiva la modalità diff

Se sei già in vim e desideri eseguire un'azione diff, utilizza uno dei seguenti comandi:

diffsplit

Usa il comando seguente per eseguire la divisione orizzontale -

:diffsplit filename

Le immagini sopra mostrano che stiamo confrontando due file e cioè message-1.txt e message-2.txt.

Divisione differenziale verticale

Per eseguire la divisione verticale utilizzare il seguente comando:

:vert diffsplit <filename>

Si apre la seguente finestra -

Le immagini sopra mostrano che stiamo confrontando due file e cioè message-1.txt e message-2.txt.

Navigazione in modalità diff

La navigazione in modalità diff è leggermente diversa. Ad esempio, quando si scorre il testo da una finestra, viene fatto scorrere anche il testo dalla finestra adiacente. Questo si chiama scrollbind. Per abilitare questo utilizzo:

:set scrollbind

Per disabilitare questo utilizzo:

:set noscrollbind

Se modifichi il file in questa modalità, usa il seguente comando per aggiornare diff -

:diffupdate

Passa dalla finestra delle differenze

Per passare da una finestra all'altra, eseguire il seguente comando:

Ctrl + w Ctrl + w

Tieni presente che dobbiamo premere Ctrl + W 2 volte.

Passa alla modifica precedente

Nella finestra diff, esegui il seguente comando per passare alla modifica precedente -

[c

Passa alla modifica successiva

Nella finestra diff, esegui il comando seguente per passare alla modifica successiva -

]c

Applica le modifiche dalla finestra delle differenze

Applicazione del cambiamento nelle finestre diff correnti

Per applicare il cambiamento dalla finestra diff adiacente alle finestre diff correnti eseguire -

:diffget

Ad esempio, se sei nella finestra di sinistra e vuoi portare il cambiamento dalla finestra di destra alla finestra corrente, eseguirai il comando sopra.

Applica la modifica dal riquadro corrente a un altro

Per applicare il cambiamento dalla finestra diff corrente alla finestra diff adiacente eseguire -

:diffput

Ad esempio, se ti trovi nella finestra di sinistra e desideri applicare la modifica dalla finestra corrente alla finestra di destra, eseguirai il comando sopra.