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.