Ответ 1
Пробовали ли вы зло-хотите-штраф-отменить?
(setq evil-want-fine-undo t)
http://gitorious.org/evil/evil/blobs/master/evil-vars.el#line195
Вот некоторые удивительные варианты: emacs-24, evil-mode (с использованием привязок vim в emacs) и undo-tree.
Однако, когда я нахожусь в режиме редактирования (режим вставки), я иногда перескакиваю для нескольких вставок, удаляет и т.д., прежде чем удалять выход и оставить режим вставки.
"Отменить" берет всю вставку (включая удаление) как одно редактирование. Например, я не могу отменить абзац, который я случайно удалил, не отменив все удаление!
Есть ли способ исправить это?
Вот некоторые ссылки:
Здесь представлены сопоставления vim, которые конвертируют определенные команды vim, чтобы их можно было отменить:
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>
Что нужно для режима отмены внутри emacs evil undo-tree для отслеживания дополнительных событий, кроме того, что вы оставите режим вставки. Например, вы можете долго оставаться в режиме вставки, а затем отменить любые удаления, вырезать, вставить.
Пробовали ли вы зло-хотите-штраф-отменить?
(setq evil-want-fine-undo t)
http://gitorious.org/evil/evil/blobs/master/evil-vars.el#line195
Является ли это специфическим для отмены дерева? Я не использую его, поэтому следующее может не применяться...
Я не уверен, что вы можете изменить объем редактирования, который механизм отмены считается единственным, но вы можете сделать это:
Сначала выберите регион и введите ключ отмены, а Emacs будет отменять изменения, которые были сделаны в этом регионе.
Это может быть очень полезно.