Per fare questo nel modo VIM, usi intenzionalmente i registri yank, delete e altri.
Register "0
è il registro yank. Tutto ciò che strattoni verrà messo qui, ma le eliminazioni non toccano mai il registro "0
.
Quindi, nel tuo esempio, hai appena strappato una parola. Per sostituire una parola con ciò che hai appena strappato, approfitta delle eliminazioni che non toccano mai il registro yank. Quindi spostati sulla parola target, eliminala con dw
, quindi incolla dal tuo registro yank con "0p
, o meglio ancora, cw
quindi ^R0
(che è ripetibile).
Una chiusura opposta al registro yank è il registro delle piccole cancellazioni "-
. Qualsiasi piccola eliminazione o rimozione di modifiche viene messa qui, ma gli yank non toccano mai "-
. Una cancellazione viene considerata piccola se è inferiore a una riga intera.
Registri "1
: "9
sono i registri della cronologia di eliminazione. Con il "1
contenuto dell'ultima eliminazione di grandi dimensioni o la rimozione delle modifiche e il "9
contenimento dell'ultima eliminazione di grandi dimensioni o la rimozione delle modifiche. Solo eliminazioni che non sono piccole, vale a dire le eliminazioni di una linea o più, vengono spinti su "1
- "9
.
Per qualsiasi operazione che modifica un registro, anche una copia viene sempre inserita nel registro predefinito, ovvero senza nome ""
. Questo è il registro usato quando non si nomina esplicitamente un registro.
Il registro "_
è il registro del buco nero ed è sempre vuoto. Se lo elimini, nulla in nessun registro viene cambiato, nemmeno il ""
registro predefinito o il registro del buco nero stesso. Il testo rimosso è completamente sparito, a parte la cronologia degli annullamenti. Tirare o incollare dal registro del buco nero non fa praticamente nulla.
Il registro del buco nero "_
ti consente di fare cose come prima una piccola eliminazione, quindi una serie di altre eliminazioni in "_
senza modificare il registro delle piccole eliminazioni "-
, quindi incollare la tua prima piccola eliminazione.
Altri registri sono l'ultimo registro inserito ".
, i registri del nome file "%
e "#
il registro dei comandi, il registro di ":
ricerca "/
e il registro delle espressioni "=
.
È possibile ottenere un elenco di tutti questi registri e dei relativi contenuti dal comando :register
. Questo comando è molto utile per sperimentare e imparare cosa finisce dove.
vep
.