Como você usa a árvore de alterações no vim


14

É possível recuperar o ramo de alterações que eu "abandonei"? Por exemplo, estou desfazendo várias operações usando u, depois estou fazendo uma alteração no modo de inserção. Mas então percebo que não quero fazer essa alteração, prefiro voltar para onde estava no começo (antes de desfazer).

Essas mudanças são perdidas para sempre?

Respostas:


12

Para navegar na árvore de desfazer, sua melhor aposta é usar o plug- in Gundo . Isso cria uma nova janela dividida com ligações especiais para ir para diferentes ramificações na árvore de desfazer, bem como um painel de visualização que mostra exatamente o que mudou entre cada nó da árvore.


Outra opção seria UndoTree.
Musicmatze

12

Para casos simples como esse, você pode simplesmente pressionar g-.

Essencialmente, o que isso faz é percorrer a lista de alterações cronologicamente (tratando a ucomo uma mudança real), e não linearmente (como com u/ <C-r>).

Por exemplo, se você inseriu algumas linhas e pressionou g-, isso acontece:

demonstração


como você criou o gif animado?
guido 03/02

4
@ guido Eu usei uma ferramenta personalizada chamada mkcast .
Doorknob

2

Não, você não pode voltar e avançar na árvore. A melhor maneira é usar um plugin para este trabalho.

Outro plugin é o Undotree . É como o Gundo , mas com algumas diferenças:

  1. É necessária a implementação pura do vimscript e nenhuma biblioteca de terceiros (como python), não se preocupe com o desempenho, não é um grande problema para o vim lidar com isso. A única dependência é a ferramenta 'diff' que sempre é fornecida com o vim e mesmo sem o 'diff', você ainda pode usar a maioria dos recursos desse script.
  2. Atualizada em tempo real, desfazer a árvore. Depois de fazer as alterações, a árvore de desfazer será atualizada simultaneamente.
  3. Várias marcas úteis, como o conjunto de alterações atual, o próximo refazer o conjunto de alterações, o conjunto de alterações salvo etc.
  4. Alterne entre o registro de data e hora relativo e o registro de data e hora absoluto.
  5. Janela de desfazer atualizada em tempo real.
  6. Capacidade de limpar desfazer histórico.
  7. Mais personalizável.

4
Esta resposta não é diretamente contestada pela postagem de maçaneta da porta ?
Caleb
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.