2012-05-06 9 views
19

Estas son algunas de las opciones increíbles: emacs-24, evil-mode (usando enlaces vim en emacs) y deshacer-tree.¿Cómo cambiar el nivel de granularidad de deshacer en emacs evil-mode con undo-tree?

Sin embargo, cuando estoy en el modo de edición (modo de inserción), a veces me salta un número para insertar, eliminar, etc. antes de presionar escape y salir del modo de inserción.

"Deshacer" toma toda la inserción (incluidas las eliminaciones) como una edición. Por ejemplo, no puedo deshacer el párrafo que eliminé accidentalmente sin deshacer la eliminación completa.

¿Hay alguna manera de arreglar esto?

Aquí están algunos enlaces relacionados:

Estas son las asignaciones de vim que convierten ciertos comandos de vim para que puedan ser deshechos:

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> 

Lo que se necesita es que el modo de deshacer el interior de emacs malos deshacer-árbol para realizar un seguimiento de eventos adicionales, además de simplemente dejando el modo insertar. Por ejemplo, debería poder permanecer en el modo de inserción durante un tiempo prolongado y luego deshacer cualquier tipo de eliminar, cortar y pegar.

+0

Basado en http://stackoverflow.com/questions/6590889/how-emacs-determines-a-unit-of-work-to-undo, los comandos adicionales dentro necesidad mal Llamar Deshacer Límite. – justingordon

+0

Solo porque aún no se ha dicho: "Debería tratar el modo de inserción como si estuviera corriendo sobre una cama de carbón caliente; aléjese lo más pronto posible". –

Respuesta

0

¿Esto es específico para deshacer el árbol? No lo uso, por lo que podría no aplicarse lo siguiente ...

No estoy seguro si puede modificar la cantidad de edición que el mecanismo de deshacer considera como una sola unidad, pero lo que puede hacer es :

Primero seleccione una región y luego escriba la tecla Deshacer, y Emacs solo deshará los cambios que se hicieron en esa región.

Eso puede ser muy útil.

+0

Esto probablemente tiene más que ver con el mal que simula el comportamiento vim, que necesita las modificaciones que se muestran arriba. – justingordon

Cuestiones relacionadas