Существует ли расширение 'local undo' для Emacs?

16

Часто случается, что я хочу отменить изменения локально или по линиям. Например, когда я изменяю несколько строк в исходном коде и хочу вернуть только одну из них, мне нужно пройти по всему дереву отмены, чтобы найти состояние, в которое я хочу вернуться. Было бы лучше, если бы я мог только вернуть отмеченную область или линию, где находится точка. Есть ли что-то подобное уже в существовании?

Ленар Хойт
источник

Ответы:

22

Это стандартная функциональность Emacs (с 1998 / 20.3).

Предполагая, что у вас включен режим переходной пометки, просто пометьте регион и используйте отмену как обычно, и Emacs выполнит операции отмены, относящиеся только к (активной) области.

Если режим переходной пометки отключен или отмеченная область неактивна, используйте C-uпрефиксный аргумент для команды отмены.

Смотрите: C-hf undo
или «выборочная отмена» в руководстве:C-hig (emacs) Undo

Phils
источник