Pregunta:
¿Qué paquetes están disponibles para edición modal en Emacs? ¿Qué usas y por qué?
Intentemos publicar un paquete por respuesta. Propongo mencionar las ventajas y desventajas de cada paquete.
Aquí está mi definición de edición modal (no pude encontrar un artículo dedicado de Wikipeadia):
Edición modal : estilo de edición de texto cuando el usuario cambia periódicamente entre el "modo normal" cuando las teclas no provocan la inserción de sus caracteres, pero realizan varias operaciones en el texto y el "modo de inserción" cuando las teclas insertan los caracteres correspondientes. Puede haber más modos, por supuesto. La mayoría de los editores modernos no son modales. Un ejemplo de editor de texto modal es Vi (Vim).
Respuesta:
evil
, the E xtensible VI L ayer para Emacs
Dejando a un lado el nombre cuestionable, el evil
es el estado actual de la técnica cuando se trata de emulación de vim
en Emacs (y posiblemente en cualquier otro lugar, para el caso). Admite muchas características que otros paquetes de emulación de Vim evitan, que incluyen:
-
vim
textobjects - registros
vim
- macros de teclado
vim
-
ex
comandos
Ventajas
- La compatibilidad clave con
vim
significa que no pierde su memoria muscular cuando cambia a sistemas sin Emacs. - Muy maduro y ampliamente utilizado (muchos paquetes comunitarios, por ejemplo)
- Muchos paquetes para
vim
se han portado aevil
.
- Muchos paquetes para
-
vim
gramática del estilovim
es modular y se adapta muy bien a la extensión del usuario. -
evil
sí es muy extensible: ¡crea tus propios objetos de texto, operadores y movimientos!
Desventajas
- Probablemente requiera algunos retoques para que funcione bien con otros paquetes
- Afortunadamente, el
evil
hace que los casos de uso más comunes sean ridículamente fáciles.
- Afortunadamente, el
-
evil
es un sistema muy complejo. Hackear el núcleo del mal puede resultar bastante complicado. -
vim
combinaciones de teclas devim
no son necesariamente óptimas desde el punto de vista ergonómico. A veces, pueden sentirse un poco arbitrarios cuando se transfieren a un sistema diferente. - Alojado en BitBucket (mercurial) haz de esto lo que quieras.