Como voltar (ctrl + z) no vi / vim


106

Em editores de texto normais [com todo o devido respeito ao Vim] existe um atalho Ctrl+ Zquando você fez algo desagradável e deseja retornar à versão anterior do texto. Como o botão VOLTAR no Word. Eu me pergunto como você pode conseguir esse comportamento no Vim.



1
A documentação do Vim também é muito boa - :help undoencontrará sua resposta sobre isso, por exemplo.
Chris Morgan,

2
antes de mergulhar completamente no vim, sugiro que você siga o tutorial (interativo)
karth

1
Obrigado a todos e desculpe por isso q. Devo ler mais na próxima vez.
Slazer de

1
no linux, CTRL-Z em vi / vim / gvim significa escapar para o console, ou colocar isso em segundo plano. você então faz o que quiser no console e digita fg (foreground) para trazê-lo de volta à sessão de edição do vim.
mancocapac

Respostas:


187

Você pode usar o ubotão para desfazer a última modificação. (E Ctrl+ Rpara refazer).

Leia mais sobre isso em: http://vim.wikia.com/wiki/Undo_and_Redo


2
Eu mapeio U para refazer para que possa desfazer / refazer rapidamente, todo o histórico de edição, se necessário, em vimrc: nnoremap U <CR>
NeilG

10

A resposta,, u(e muitos outros) está em $ vimtutor.


votar apenas porque nunca ouvi falar vimtutorantes
Paiusco

4

Mas aqui está um truque. Você pode mapear as teclas Ctrl+ Z. Isso pode ser feito editando o .vimrcarquivo. Adicione as seguintes linhas no arquivo '.vimrc`.

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

Esta pode não ser a forma preferida, mas pode ser usada.

** Ctrl+ Zé usado no Linux para suspender o programa / processo em andamento.


1

Apenas no modo normal, pressione:

  • u- desfazer ,
  • Ctrl+ r- refazer as alterações que foram desfeitas ( desfazer as ações desfeitas ).

Desfazer e refazer


Eu sei que a maior parte da minha resposta está duplicada com as que já estão presentes, mas o valor agregado da minha resposta é refazer como Ctrl + r(minúsculas r) com base na documentação. Ninguém antes o colocou aqui. Além disso, tentei dar a resposta o mais clara possível.
simhumileco

0

Em um mac, você também pode usar o comando Z e isso irá desfazer. Não tenho certeza do porquê, mas às vezes para, e se você gosta de mim e do vimtutor está no final dessa longa lista de coisas que você precisa aprender, então você pode simplesmente fechar a janela e reabri-la e deve funcionar bem.


0

Eu estava com o mesmo problema agora e resolvi. Você não deve mais precisar, então escrevo para os outros:

se você usar o gvim no Windows , basta adicionar ao seu _vimrc : $VIMRUNTIME/mswin.vim behave mswin

senão use imap ...

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.