Czy istnieje rozszerzenie „cofania lokalnego” dla Emacsa?

16

Często zdarza się, że chcę cofnąć zmiany lokalnie lub liniowo. Na przykład, gdy zmieniam wiele wierszy w kodzie źródłowym i chcę cofnąć tylko jeden z nich, to muszę przejść przez całe drzewo cofania, aby znaleźć stan, do którego chcę wrócić. Byłoby lepiej, gdybym mógł cofnąć tylko zaznaczony region lub linię, w której znajduje się punkt. Czy istnieje już coś takiego?

Lenar Hoyt
źródło

Odpowiedzi:

22

Jest to standardowa funkcjonalność Emacsa (od 1998 / 20.3).

Zakładając, że masz włączony tryb zaznaczania przejściowego, po prostu zaznacz region i użyj cofania w normalny sposób, a Emacs wykona operacje cofania odpowiednie tylko dla (aktywnego) regionu.

Przy wyłączonym trybie oznaczania przejściowego lub jeśli zaznaczony region nie jest aktywny, użyj C-uargumentu przedrostka do polecenia cofnij.

Zobacz: C-hf undo
lub „selektywne cofanie” w instrukcji:C-hig (emacs) Undo

phils
źródło