Cómo volver (ctrl + z) en vi / vim

106

En los editores de texto normales [con el debido respeto a Vim] hay un atajo Ctrl+ Zcuando has hecho algo desagradable y quieres volver a la versión anterior del texto. Como el botón ATRÁS en Word. Me pregunto cómo puedes lograr este comportamiento en Vim.

Slazer
fuente
1
La documentación de Vim también es muy buena; :help undoencontrará su respuesta a esto, por ejemplo.
Chris Morgan
2
antes de sumergirse en vim por completo, le sugiero que siga el tutorial (interactivo)
karth
1
Gracias a todos y perdón por esta q. Debo leer más la próxima vez.
Slazer
1
en linux, CTRL-Z en vi / vim / gvim significa escapar a la consola, o poner esto en segundo plano. Luego, haga lo que quiera en la consola y escriba fg (primer plano) para regresar a la sesión de edición de vim.
mancocapac

Respuestas:

187

Puede utilizar el ubotón para deshacer la última modificación. (Y Ctrl+ Rpara rehacerlo).

Lea más sobre esto en: http://vim.wikia.com/wiki/Undo_and_Redo

Qiau
fuente
2
Mapeo U para rehacer para poder deshacer / rehacer rápidamente, todo el historial de edición si es necesario, en vimrc: nnoremap U <CR>
NeilG
10

La respuesta, u(y muchas otras) está en $ vimtutor.

romainl
fuente
voto a favor solo porque nunca había oído hablar de él vimtutorantes
Paiusco
4

Sin embargo, aquí hay un truco. Puede mapear las teclas Ctrl+ Z. Esto se puede lograr editando el .vimrcarchivo. Agregue las siguientes líneas en el archivo '.vimrc`.

nnoremap <c-z> :u<CR>      " Avoid using this**
inoremap <c-z> <c-o>:u<CR>

Puede que esta no sea la forma preferida, pero se puede utilizar.

** Ctrl+ Zse usa en Linux para suspender el programa / proceso en curso.

madD7
fuente
1

Solo en modo normal presione:

  • u- deshacer ,
  • Ctrl+ r- rehacer cambios que eran incompleta ( deshacer las acciones de deshacer ).

Deshacer y rehacer

simhumileco
fuente
Sé que la mayor parte de mi respuesta está duplicada con las que ya están presentes, pero el valor agregado de mi respuesta es rehacer como Ctrl + r(minúsculas r) según la documentación. Nadie antes lo puso aquí. Además, traté de dar la respuesta lo más clara posible.
simhumileco
0

En una mac también puede usar el comando Z y eso se deshará. No estoy seguro de por qué, pero a veces se detiene, y si eres como yo y vimtutor está al final de esa larga lista de cosas que necesitas aprender, puedes cerrar la ventana y volver a abrirla y debería funcionar bien.

Ardilla
fuente
0

Tenía el mismo problema en este momento y lo resolví. No debes necesitarlo más, así que escribo para otros:

si usa gvim en Windows , simplemente agregue esto en su _vimrc : $VIMRUNTIME/mswin.vim behave mswin

si no, usa imap ...

Cloud Duan
fuente