In Vim ho annullato troppo. Come posso annullare questo (ovvero, ripetere)?
In Vim ho annullato troppo. Come posso annullare questo (ovvero, ripetere)?
Risposte:
Ctrl+r
Cmd + r
cose? Fa sicuramente qualcosa di strano; ma ha Ctrl + r
funzionato bene per me (Mac + tmux + vim)
Controlla anche :undolist
, che offre più percorsi attraverso la cronologia degli annullamenti. Ciò è utile se si digita accidentalmente qualcosa dopo aver annullato troppo.
:undolist
e digita :undo 178
(diciamo) per tornare indietro al passo 178.
:undolist
?
Usa :earlier
/ :later
. Per ripetere tutto ciò che devi fare
later 9999999d
(presupponendo che il file sia stato modificato per la prima volta al massimo 9999999 giorni fa) oppure, se si ricorda la differenza tra lo stato di annullamento corrente e quello necessario, utilizzare rispettivamente Nh
, Nm
oppure Ns
per ore, minuti e secondi. + :later N<CR>
<=> Ng+
e :later Nf
per le scritture di file.
:later
ha funzionato per me in vi
(non vim - cercato "vi" su google ma tutti i risultati sono per "vim"), grazie!
vi
comando è un collegamento simbolico a un eseguibile vim o una sua copia. Non completamente dappertutto però.
vim: command not found
. La prossima cosa che faccio è alias vim=vi
perché la scrivo così automaticamente, ma è comunque la vecchia vi. Inoltre, redo (ctrl + r) avrebbe funzionato correttamente se vi fosse stato un alias per vim.
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw screen}
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
*U*
U Undo all latest changes on one line. {Vi: while not
moved off of it}
In modalità comando, utilizzare il Utasto per annullare e Ctrl+ rper ripetere. Dai un'occhiata a http://www.vim.org/htmldoc/undo.html .
Premere prima il Esctasto per uscire dalla modalità di modifica.
Poi,
Per annullare , utilizzare il utasto tutte le volte che si desidera annullare.
Per ripetere , utilizzare il tasto Ctrl+r
Fare riferimento alla parte "annulla" e "ripristina" del documento Vim .
: red [o] (Ripeti una modifica annullata) e {count} Ctrl+r (Ripeti {count} modifiche annullate) sono entrambi ok.
Inoltre, il precedente {count} (vai allo stato di testo precedente {count} volte) potrebbe sempre essere un sostituto di annulla e ripeti.
CTRL+r
La "r" è minuscola.
^r
e ^R
, e Vim lo segue.
^X
(dove X
può essere qualsiasi lettera).
Usi VsVim per Visual Studio?
Mi sono imbattuto in questo durante la sperimentazione di VsVim, che fornisce collegamenti per i comandi Vim in Visual Studio .
Lo so Ctrlr Vim stesso, ma questa associazione specifica non funziona in VsVim (almeno non nella mia configurazione?).
Ciò che funziona, tuttavia, è il comando :red
. Questo è un po 'più una seccatura di quanto sopra, ma va ancora bene quando ne hai davvero bisogno.
In pratica, :undolist
è difficile da usare e Vim's :earlier
e:later
monitoraggio del tempo delle modifiche sono utilizzabili solo per le correzioni di rotta.
Detto questo, ricorro a un plug-in che combina queste funzionalità per fornire un albero visivo di annullamenti sfogliabili, chiamato "Gundo".
Ovviamente, questo è qualcosa da usare solo quando hai bisogno di una correzione a grana fine o non sei sicuro dell'esatto stato del documento in cui desideri tornare. Vedi: Gundo. Rappresenta graficamente il tuo albero di annullamento Vim con stile