En Vim, hice demasiado deshacer. ¿Cómo deshago esto (es decir, rehacer)?
En Vim, hice demasiado deshacer. ¿Cómo deshago esto (es decir, rehacer)?
Respuestas:
Ctrl+r
Cmd + r
cosas desordenadas? Ciertamente hace algo raro; pero Ctrl + r
funcionó bien para mí (Mac + tmux + vim)
También echa un vistazo :undolist
, que ofrece múltiples rutas a través del historial de deshacer. Esto es útil si accidentalmente escribe algo después de deshacer demasiado.
:undolist
y escriba :undo 178
(digamos) para retroceder al paso 178.
:undolist
?
Use :earlier
/ :later
. Para rehacer todo lo que necesitas hacer
later 9999999d
(suponiendo que editó el archivo por primera vez hace 9999999 días como máximo) o, si recuerda la diferencia entre el estado de deshacer actual y el que necesitaba, use Nh
, Nm
o Ns
durante horas, minutos y segundos respectivamente. + :later N<CR>
<=> Ng+
y :later Nf
para escrituras de archivos.
:later
funcionó para mí en vi
(no vim - busqué "vi" en google pero todos los resultados son para "vim"), ¡gracias!
vi
comando es un enlace simbólico a un ejecutable vim o una copia del mismo. Aunque no completamente en todas partes.
vim: command not found
. Lo siguiente que hago es alias vim=vi
porque lo escribo tan automáticamente, pero de todos modos es el viejo vi simple. Además, redo (ctrl + r) habría funcionado correctamente si vi hubiera sido un alias para 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}
En modo comando, use la Utecla para deshacer y Ctrl+ rpara rehacer. Echa un vistazo a http://www.vim.org/htmldoc/undo.html .
Primero presione la Esctecla para salir del modo de edición.
Entonces,
Para deshacer , use la utecla tantas veces como desee deshacer.
Para rehacer , use la tecla Ctrl+r
Consulte la parte "deshacer" y "rehacer" del documento de Vim .
: rojo [o] (Rehacer un cambio que se deshizo) y {count} Ctrl+ r(Rehacer {count} cambios que se deshicieron) están bien.
Además, el : {count} anterior (ir al estado de texto anterior {count} veces) siempre podría ser un sustituto de deshacer y rehacer.
CTRL+r
La "r" es minúscula.
^r
y ^R
, y Vim sigue eso.
^X
(donde X
puede haber cualquier letra).
¿Usa VsVim para Visual Studio?
Encontré esto al experimentar con VsVim, que proporciona enlaces para los comandos de Vim en Visual Studio .
Lo sé Ctrlren Vim, pero este enlace en particular no funciona en VsVim (¿al menos no en mi configuración?).
Lo que hace el trabajo sin embargo, es el comando :red
. Esto es un poco más complicado que lo anterior, pero aún está bien cuando realmente lo necesita.
Hablando en términos prácticos, :undolist
es difícil de usar y el seguimiento de cambios de Vim :earlier
y el :later
tiempo solo se puede usar para arreglos generales .
Dado eso, recurro a un complemento que combina estas características para proporcionar un árbol visual de deshacer navegable, llamado "Gundo".
Obviamente, esto es algo para usar solo cuando necesita una solución detallada, o no está seguro del estado exacto del documento al que desea regresar. Ver: Gundo. Grafica tu árbol de deshacer Vim con estilo