No Vim, eu desfiz muitas coisas. Como desfazer isso (ou seja, refazer)?
No Vim, eu desfiz muitas coisas. Como desfazer isso (ou seja, refazer)?
Respostas:
Ctrl+r
Cmd + r
coisas? Certamente faz algo estranho; mas Ctrl + r
apenas funcionou bem para mim (Mac + tmux + vim)
Verifique também :undolist
, que oferece vários caminhos ao longo do histórico de desfazer. Isso é útil se você digitar algo acidentalmente depois de desfazer muito.
:undolist
e digite :undo 178
(digamos) para retroceder para a etapa 178.
:undolist
?
Use :earlier
/ :later
. Para refazer tudo o que você precisa fazer
later 9999999d
(supondo que você editado pela primeira vez o arquivo, no máximo 9999999 dias atrás), ou, se você se lembrar a diferença entre estado atual desfazer e precisava de um, uso Nh
, Nm
ou Ns
por horas, minutos e segundos, respectivamente. + :later N<CR>
<=> Ng+
e :later Nf
para gravações de arquivo.
:later
trabalhou para mim em vi
(não vim - procurou por "vi" no google, mas todos os resultados são para "vim"), obrigado!
vi
comanda, há um link simbólico para um executável do vim ou uma cópia dele. Não completamente em toda parte embora.
vim: command not found
. A próxima coisa que faço é alias vim=vi
porque eu o digito automaticamente, mas, mesmo assim, é o velho e simples vi. Além disso, refazer (ctrl + r) teria funcionado corretamente se vi fosse um alias para o 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}
No modo de comando, use a Utecla para desfazer e Ctrl+ rpara refazer. Dê uma olhada em http://www.vim.org/htmldoc/undo.html .
Primeiro, pressione a Esctecla para sair do modo de edição.
Então,
Para desfazer , use a utecla quantas vezes quiser desfazer.
Para refazer , use a tecla Ctrl+r
Consulte a parte "desfazer" e "refazer" do documento Vim .
: red [o] (refazer uma alteração desfeita) e {count} Ctrl+ r(refazer {contagem} alterações desfeitas) estão ok.
Além disso, o {count} anterior (vá para o estado do texto mais antigo {count} vezes) sempre pode ser um substituto para desfazer e refazer.
CTRL+r
O "r" é minúsculo.
^r
e ^R
, e Vim segue isso.
^X
(onde X
pode haver qualquer letra).
Usando o VsVim para Visual Studio?
Me deparei com isso ao experimentar o VsVim, que fornece ligações para comandos do Vim no Visual Studio .
Eu sei sobre Ctrlr próprio Vim, mas essa ligação específica não funciona no VsVim (pelo menos não na minha instalação?).
O que funciona, no entanto, é o comando :red
. Isso é um pouco mais complicado do que o descrito acima, mas ainda é bom quando você realmente precisa.
Na prática, :undolist
é difícil usar o Vim :earlier
e o :later
controle de tempo das alterações, que só podem ser utilizados para correções de grãos do curso.
Dado isso, recorro a um plug-in que combina esses recursos para fornecer uma árvore visual de desfazer navegáveis, chamada "Gundo".
Obviamente, isso é algo a ser usado somente quando você precisar de uma correção refinada ou não tiver certeza do estado exato do documento ao qual deseja retornar. Veja: Gundo. Faça um gráfico da sua árvore de desfazer do Vim com estilo