Introduzione

A volte, quando si modifica un file, è possibile eliminare una riga errata o cambiare idea su una modifica e si desidera annullare le modifiche.

Questo articolo spiega come annullare e ripetere le modifiche in Vim/Vi.

Vi o Vim è installato per impostazione predefinita su macOS e quasi tutte le distribuzioni Linux. Conoscere le basi di Vim potrebbe essere molto utile quando incontri una situazione in cui il tuo editor preferito non è disponibile.

Annullare le modifiche su Vim/Vi

Vim tiene traccia di tutte le modifiche apportate nella sessione corrente. Il comando Undo anulla una o più modifiche nell'ordine in cui sono state apportate.

Per annullare le modifiche in Vim e Vi utilizzare il comando u, :u o :undo:

  1. Se si è in modalità inserimento o in qualsiasi altra modalità, premere il tasto Esc per tornare alla modalità normale, nota anche come modalità di comando.
  2. Digitare u per annullare l'ultima modifica. In Vim, il comando u accetta anche quantificatori. Ad esempio, se si desidera annullare le ultime 4 modifiche, si utilizzerà 4u.

Assicurati di digitare lettere minuscole u, non il comando U maiuscolo che invece annulla tutte le ultime modifiche su una riga. Se si digita accidentalmente U è possibile annullare la modifica con u.

Utilizzare il comando Undo per ripristinare le modifiche apportate da qualsiasi altro comando, come elimina, incolla, cerca e sostituisci e così via.

Quando si lavora in modalità inserimento, tutte le modifiche al testo vengono considerate come una voce nella struttura di annullamento. Ad esempio, se si passa alla modalità di inserimento e si immettono cinque righe, si torna alla modalità normale e si preme u per annullare la modifica, tutte e cinque le righe vengono rimosse.

Ripristina modifiche in Vim/Vi

La funzione di ripetizione Redo inverte l'azione di annullamento.

Per ripetere una modifica in Vim e Vi, utilizzare il tasto Ctrl-R o :redo:

  1. Premere il tasto Esc per tornare alla modalità normale.
  2. Utilizzare Ctrl-R (tenere premuto Ctrl e premere r) per ripetere l'ultima modifica. In Vim puoi anche usare quantificatori. Ad esempio, se si desidera ripetere le ultime 4 modifiche, digitare 4Ctrl-R.

Ogni comando di annullamento può essere invertito da un comando di ripetizione.

Conclusione

Per annullare una modifica nel tipo Vim/Vi u e ripetere una modifica annullata, utilizzare la sequenza di tasti Ctrl-R.

Vim supporta anche i rami di annullamento (undo branches).