Emacs vs. Vim

Emacs y Empuje son los dos editores de texto más utilizados en sistemas Unix y similares a Unix. Existe una larga historia de competencia entre estos dos editores de texto, que son mucho más avanzados que otros editores de texto en la plataforma Unix. Si bien ambos editores cuentan con una funcionalidad similar a través de sus complementos, secuencias de comandos y teclas de acceso directo, sus enfoques son ligeramente diferentes.

Gráfica comparativa

Cuadro comparativo Emacs versus Vim
EmacsEmpuje
Vista previa del lanzamiento 23 7.2a.13 (2008-07-04)
Escrito en C y Emacs Lisp C y Vim script
Plataforma Multiplataforma, incluyendo Unix, Linux y Microsoft Windows Multiplataforma, incluyendo Unix, Linux y Microsoft Windows
Disponible en Inglés, chino, francés, italiano, polaco, ruso Inglés, chino, francés, italiano, polaco, ruso
Tipo Editor de texto Editor de texto
Licencia GNU GPL Software libre, charityware, compatible con GPL
Sitio web http://www.gnu.org/software/emacs/ http://www.vim.org/
Introducción (de Wikipedia) Emacs es una clase de editores de texto ricos en características, que generalmente se caracterizan por su extensibilidad. Emacs tiene más de 1.000 comandos de edición. También permite al usuario combinar estos comandos en macros para automatizar el trabajo. Vim es un editor de texto lanzado por primera vez por Bram Moolenaar en 1991 para la computadora Amiga. El nombre "Vim" es un acrónimo de "Vi IMproved" porque Vim se creó como una versión extendida del editor vi, con muchas características adicionales diseñadas para ser útiles
Diseñado por Richard Stallman Bram Moolenaar
Versión inicial 1976 1991
Lanzamiento estable 22.3 (2008-09-05) 7.2 (2008-08-09)
Pestañas de búfer Compatible con la línea de comandos y la interfaz gráfica de usuario Compatible con la línea de comandos y la interfaz gráfica de usuario

Contenido: Emacs vs Vim

  • 1 interfaz de usuario de Emacs y Vim
    • 1.1 Facilidad de aprendizaje
    • 1.2 Productividad y velocidad de edición.
  • 2 RAM de uso de Emacs vs Vim
  • 3 Extensibilidad y personalización de Emacs vs Vim
    • 3.1 Interfaz gráfica de usuario (GUI)
  • 4 referencias

Interfaz de Usuario Emacs y Vim

Vim usa modos de edición, más comúnmente los modo de comando y modo de inserción. Vim pretende minimizar el número de pulsaciones de teclas que un usuario debe presionar, ya que vi, en el que se basa Vim, fue diseñado para usarse en terminales lentos.

Emacs usa teclas modificadoras para habilitar los accesos directos, que a menudo involucran presionar varias teclas simultáneamente para una sola función. Este aspecto de Emacs es a menudo criticado..

Facilidad de aprendizaje

Emacs es más fácil de aprender ya que tiene una interfaz más natural (para usuarios familiarizados con los editores de texto basados ​​en GUI). Como Vim tiene diferentes modos de edición, a los principiantes les resulta un poco más difícil aprender.

Productividad y velocidad de edición.

Los entusiastas de Vim argumentan que una vez que un usuario se familiariza con los modos de edición y los comandos de Vim, permite una productividad y eficiencia mucho mayores. La edición de archivos suele ser más rápida con Vim que con Emacs debido a la interfaz de Vim a propósito de velocidad. Por ejemplo, el movimiento del cursor se puede controlar a través de H, J, K, y L llaves en el modo normal. Esto significa que las manos del usuario no tienen que abandonar la posición de "fila de inicio", lo que mejora la eficiencia, pero tiene el precio de agregar gastos generales ya que se requiere un cambio de modo para elegir entre movimiento y edición de texto. En Emacs (con la configuración predeterminada), el usuario mueve el cursor con los accesos directos Ctrl-B o Ctrl-F, lo que puede ralentizar al usuario novato, ya que se deben presionar dos teclas. Las mejoras de productividad y eficiencia en Emacs dependen de la configuración del entorno de edición en lugar del editor mismo.

Uso de RAM de Emacs vs Vim

Vim es más ligero que Emacs y usa menos memoria. Los defensores de Vim critican el consumo de recursos de Emacs con la irónica sugerencia de que Emacs significa "Ochenta megabytes y cambios constantes".

Sin embargo, con gnuclient, se puede ejecutar un solo proceso de Emacs persistente que puede admitir varios clientes simultáneamente. Esto acelera el tiempo de inicio y disminuye el uso total de memoria, cerrando la brecha entre Emacs y Vim.

Extensibilidad y personalización de Emacs vs Vim

Si bien Vim y Emacs admiten complementos que mejoran su funcionalidad, Emacs admite una mayor personalización del entorno de edición. Esta es posiblemente la característica más importante de emacs y es responsable de gran parte de los seguidores dedicados de emacs.

Emacs se puede extender en elisp, mientras que Vim tiene su propio lenguaje de scripting interno y admite el uso de otros lenguajes de programación para el desarrollo de complementos..

Emacs se puede extender sobre la marcha redefiniendo las funciones elisp incorporadas, ya sea escribiendo la nueva definición en Emacs o cargando archivos elisp. Los grupos de cambios relacionados se denominan "modos" y se pueden configurar fácilmente para que se utilicen automáticamente para determinados tipos de archivos (buffers). Así que es fácil definir modos para diferentes lenguajes de programación o marcos tales como "modo lisp" o "modo Ruby on Rails" o "modo PHP". Estos modos pueden modificar directamente incluso los comportamientos principales de Emacs, dar formato o colorear automáticamente el texto y agregar plantillas estándar o texto "repetitivo", como declaraciones de funciones y cierres. Así que los programadores encuentran que Emacs es mucho más personalizable para sus requisitos particulares que Vim. Sin embargo, algunos programadores pueden encontrar que Vim se adapta mejor a su entorno de programación debido a su operación igualmente personalizable y totalmente modal..

Vim también se puede extender sobre la marcha usando el modo de comando. El modo de comando permite configurar las opciones de configuración, definir las funciones y crear macros. De hecho, los archivos de configuración para Vim son solo comandos que pueden ingresarse a través del modo comando.

Interfaz gráfica de usuario (GUI)

Tanto Vim como Emacs tienen interfaces gráficas de usuario. Prácticamente todos los elementos de menú en la interfaz gráfica para ambos editores son simplemente formas de manejar un comando de acceso directo o una configuración rápida. Las GUI para los editores no proporcionan virtualmente ninguna función adicional más allá de las disponibles en la CLI (interfaz de línea de comando)

Emacs usa XDisplay o gtk2 para su GUI. Vim puede usar muchas otras bibliotecas GUI, como gtk, gnome, gnome2, motif, athena y neXtaw, además de gtk2.

Referencias

  • wikipedia: vi
  • wikipedia: Emacs
  • http://www.io.com/~dierdorf/emacsvi.html
  • http://thomer.com/vi/vi.html
  • Emacs tiene el poder de Lisp, lo que lo hace muy flexible.
  • Guia de iniciación a emacs.