2012-05-06 13 views
19

Oto kilka niesamowitych opcji: emacs-24, tryb zła (przy użyciu wiązań vim w emacs) i cofanie drzewa.Jak zmienić poziom szczegółowości cofania w trybie emacs evil przy cofnięciu drzewa?

Jednakże, gdy jestem w trybie edycji (tryb wstawiania), czasami przeskakuję, aby wstawić liczbę, usunąć itd. Przed naciśnięciem klawisza Esc i pozostawieniem trybu wstawiania.

"Cofnij" pobiera całą wstawkę (łącznie z usunięciem) jako jedną zmianę. Na przykład nie mogę cofnąć akapitu, który przypadkowo usunąłem bez cofania całego usunięcia!

Czy można to naprawić?

Oto kilka Powiązane linki:

Oto mapowania vim, które przekształcają pewnych poleceń vim tak, że mogą one być cofnięte:

inoremap <c-u> <c-g>u<c-u> 
inoremap <c-w> <c-g>u<c-w> 
inoremap <End> <C-g>u<End> 
inoremap <BS> <c-g>u<BS> 
inoremap <CR> <c-g>u<CR> 
inoremap <del> <c-g>u<del> 

Potrzebna jest dla trybu cofania wewnątrz Emacsa złych cofania drzewo śledzić dodatkowe imprezy oprócz właśnie opuszczam tryb wstawiania. Na przykład, powinieneś być w stanie długo pozostawać w trybie wstawiania, a następnie cofać dowolne usuwanie, wycinanie, wklejanie.

+0

podstawie http://stackoverflow.com/questions/6590889/how-emacs-determines-a-unit-of-work-to-undo, dodatkowe polecenia w złej potrzebie wywołać undo-boundary. – justingordon

+0

Tylko dlatego, że nie zostało jeszcze powiedziane: "Powinieneś traktować tryb wstawiania tak, jakbyś biegał po gorącym węglu, wydostań się tak szybko, jak to możliwe". –

Odpowiedz

0

Czy jest to charakterystyczne dla cofnięcia drzewa? Nie używam go, więc poniższe może nie mieć zastosowania ...

Nie jestem pewien, czy można zmodyfikować ilość edycji, którą mechanizm cofania uważa za pojedynczą jednostkę, ale co można zrobić, to :

Najpierw wybierz region, a następnie wpisz klucz Cofnij, a Emacs cofnie tylko zmiany dokonane w tym regionie.

To może być bardzo przydatne.

+0

To prawdopodobnie ma więcej wspólnego z złem symulującym zachowanie vim, które wymaga modyfikacji pokazanych powyżej. – justingordon

Powiązane problemy