Domyślne zachowanie cofania w Evil jest zbyt gruboziarniste, ponieważ bierze pod uwagę wszystko, co dzieje się między przejściem do trybu wstawiania a pozostawieniem go jako jednej operacji edycji. Po wprowadzeniu całego akapitu tekstu podczas jednej wstawki, a następnie wykonaniu cofnięcia, cały akapit jest usuwany. W przeciwieństwie do tego, Vim uruchamia nową jednostkę cofania za każdym razem, gdy przesuwasz kursor w trybie wstawiania w inny sposób niż wprowadzanie tekstu.
Zło ma zmienną dostosowywania, której można użyć, aby uzyskać bardziej szczegółową historię cofania:
(setq evil-want-fine-undo t)
Przy tym ustawieniu Zło uruchamia nową jednostkę cofania, gdy kursor jest przesuwany w trybie wstawiania, podobnie jak robi to Vim. Jednak to ustawienie ma również związek z tym, jak obsługiwana jest operacja zamiany: jeśli zastępujesz słowo przy użyciu cw
, musisz cofnąć dwa razy, aby przywrócić oryginalne słowo: raz, aby usunąć nowe słowo, a raz, aby ponownie wstawić oryginalne słowo. Jest to niespójne z Vimem i nie ma większego sensu, ponieważ zamiana powinna być atomowa.
Pytanie: Jak mogę skonfigurować Zło i cofnąć drzewko, aby uzyskać zachowanie cofania Vima?