Jak korzystać z drzewa zmian w vimie

14

Czy można pobrać gałąź zmian, którą „porzuciłem”? Na przykład cofam kilka operacji u, a następnie zmieniam tryb wstawiania. Ale potem zdaję sobie sprawę, że nie chcę tej zmiany, wolę wrócić do miejsca, w którym byłem na początku (przed cofnięciem).

Czy zmiany te zostały utracone na zawsze?

Nebril
źródło

Odpowiedzi:

12

Do nawigacji w drzewie cofania najlepiej użyć wtyczki Gundo . Tworzy to nowe podzielone okno ze specjalnymi powiązaniami do przeskakiwania do różnych gałęzi drzewa cofania, a także panel podglądu, który pokazuje dokładnie, co zmieniło się między poszczególnymi węzłami w drzewie.

Steve Vermeulen
źródło
Innym wyborem będzie UndoTree.
musicmatze
12

W takich prostych przypadkach wystarczy nacisnąć g-.

Zasadniczo przegląda listę zmian chronologicznie (traktując ujako rzeczywistą zmianę), a nie liniowo (jak za pomocą u/ <C-r>).

Na przykład, jeśli wstawiłeś kilka wierszy i naciśniesz g-, dzieje się tak:

demonstracja

Klamka
źródło
jak stworzyłeś animowany gif?
guido
4
@guido Użyłem niestandardowego narzędzia o nazwie mkcast .
Klamka
2

Nie, nie możesz cofać się w drzewie. Najlepszym sposobem jest użycie wtyczki do tego zadania.

Kolejną wtyczką jest Undotree . To jest jak Gundo , ale z pewnymi różnicami:

  1. Czysta implementacja vimscript i żadne biblioteki innych firm (takie jak Python) nie są potrzebne, nie martw się o wydajność, vim nie jest w stanie poradzić sobie z tym. Jedyną zależnością jest narzędzie „diff”, które zawsze dostarczane jest z vimem, a nawet bez „diff” nadal możesz korzystać z większości funkcji tego skryptu.
  2. W czasie rzeczywistym zaktualizowano drzewo cofania. Po wprowadzeniu zmian drzewo cofania zostanie zaktualizowane jednocześnie.
  3. Kilka przydatnych znaków, takich jak aktualny zestaw zmian, następny zestaw zmian powtórzeń, zapisany zestaw zmian itp.
  4. Przełączaj pomiędzy względnym znacznikiem czasu a absolutnym znacznikiem czasu.
  5. W czasie rzeczywistym zaktualizowano okno cofania.
  6. Możliwość wyczyszczenia historii cofania.
  7. Bardziej konfigurowalny.
adelarsq
źródło
4
Czy ta odpowiedź nie jest bezpośrednio obalona przez post doorknob ?
Caleb