Existe uma extensão 'local undo' para o Emacs?

16

Acontece com frequência que eu quero desfazer alterações localmente ou em linhas. Por exemplo, quando altero várias linhas em um código-fonte e desejo reverter apenas uma delas, preciso percorrer toda a árvore de desfazer para encontrar o estado ao qual quero retornar. Seria melhor se eu pudesse reverter a região marcada ou a linha onde está o ponto. Já existe algo assim?

Lenar Hoyt
fonte

Respostas:

22

Essa é a funcionalidade padrão do Emacs (desde 1998 / 20.3).

Supondo que você tenha o modo de marca transitória ativado, basta marcar a região e usar desfazer normalmente, e o Emacs executará operações de desfazer relevantes apenas para a região (ativa).

Com o modo de marca transitória desativado ou se a região marcada não estiver ativa, use um C-uargumento de prefixo para o comando desfazer.

Veja: C-hf undo
ou "desfazer seletivo" no manual:C-hig (emacs) Undo

phils
fonte