¿Qué características de Vim faltan en Emacs con Viper y Vimpulse?
editor (8)
Desafortunadamente, ningún modo puede hacer que Emacs funcione tan rápido como Vim.
Si usted quiere decir que el tiempo de inicio de emacs es pobre, puede cortarlo dramáticamente teniendo una sesión de emacs permanentemente abierta, y usar gnuclient / emacsclient cada vez que necesite editar un archivo.
Hay funciones importantes de Emacs que faltan en Vim, como el modo comint, y no hay scripts / complementos que puedan reemplazarlas.
También existen beneficios de Vim sobre Emacs, como la edición modal y, en general, mejores accesos directos predeterminados. Sin embargo, el modo Viper me da los dos. Vimpulse también habilita el modo visual. Desafortunadamente, ningún modo puede hacer que Emacs funcione tan rápido como Vim.
Así que aprendí sobre todo Vim-in-Emacs. ¿Qué características de Vim me estoy perdiendo?
Una característica de vi que extraño en emacs es la .
(punto) comando que repite la última edición. Hay dot-mode.el que implementa C-.
para simular esto, pero no siempre funcionó para mí (no soy competente en elisp para averiguar por qué).
Incluso Viper no implementa este comando exactamente como lo hace vi (la última vez que lo comprobé), e incluso si lo hace, no creo que sea suficiente para que yo empiece a usar Viper.
Búsqueda incremental usando / y? Está perdido.
Siendo un amante de emacs como sistema operativo y vi como modelo de entrada , naturalmente quería amar a la víbora. Sin embargo, a los dos segundos de usarlo tuve que abandonarlo: la víbora no es compatible con C- [como sustituto de la tecla de escape, que es un atajo esencial para el comando más utilizado en vi.
Para obtener una lista completa de qué vimpulse puede faltar, escriba
: helpgrep no en Vi
Se enumerarán todas las funciones de la ayuda que no sea compatible con vi.
Hay alrededor de 700 partidos.
Por supuesto, habrá mucha funcionalidad duplicada
Vi el movimiento en todas partes: en Vi siempre puedes navegar usando los mismos atajos, ya sea que estés dentro de una lista de directorio, un archivo de ayuda, un archivo de solo escritura o algo que puedas editar.
Corrija el comportamiento visual y de eliminación, muy similar al marcado de emacs, pero idiomáticamente diferente, tan difícil para el usuario de Vi volver a entrenar. Si ya estás acostumbrado al marcado de emacs, no te estás perdiendo nada.
Correcto comportamiento de escape: debería cancelar todas las demás actividades modales y regresar al modo de comando. Nuevamente, si te sientes cómodo con emacs, probablemente estés acostumbrado a tener entradas modales y cosas así.
Las castañas obvias sobre Vi se implementan en cada sistema de nix en el mundo (¿los puristas de Gentoo me corrigen?) - de todos modos, no es un argumento muy fuerte.
Esos son los que surgieron durante mi uso de emacs + víbora.
Soy un usuario de vim regular pero no un usuario de emacs y no he usado vimpulse
para confirmar esto.
Pero al navegar el código vimpulse a continuación no veo mención de objetos de texto.
http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el
Vim introdujo algunos modismos muy útiles para la selección y el movimiento que no están en vi regular
-
cat
''cut around tag'' para etiquetas xml / html -
diw
''eliminar en palabra'' -
di(
di"
borrar texto dentro de""
()
etc.
en el vim ayuda a ver :he
texto-objetos para más.
Las macros de Vim no parecen funcionar con viper / vimpulse:
Las macros de Vim no funcionan cuando se usa viper + vimpulse en Emacs
(Por cierto, la característica de emacs asesino que me hace preocuparme por vim / vimpulse es que diferentes marcos pueden editar el mismo archivo. Es como tener una división donde las dos piezas pueden estar en ventanas diferentes. Si alguien sabe cómo lograr eso en vim, serías mi héroe.)