Emacs vs. Vim: diferencias entre los principales editores de terminales para Linux

Emacs y Vim son dos de los editores de texto más populares utilizados por los usuarios de Linux. La lucha entre Emacs y Vim ha durado más de 35 años, incluso antes de que existiera el moderno editor de Vim. Con adoradores y enemigos dedicados de cada software, puede ser bastante difícil para un nuevo usuario decidir qué editor de texto podría ser mejor para ellos.

Los 4 mejores editores de texto basados ​​en terminales para Linux

Tabla de contenido

Emacs vs. Vim: una comparación detallada

Así que intentemos desglosar los argumentos de ambos lados e intentemos analizar qué editor podría ser mejor para usted.

Historia de los editores

Los Emacs y Vim que vemos hoy no son piezas originales de software, sino versiones de editores aún más antiguos (como suele ser el caso en código abierto).

Emacs

Emacs (editor de macros) fue desarrollado por David A Moon en 1976, lo que lo convierte en una de las piezas de software más antiguas que existen en la actualidad. GNU Emacs, que es la variante (bifurcación) más utilizada de Emacs, fue lanzada en 1985 por Richard Stallman, el propio fundador de GNU/Linux.

EMPUJE

Vim (Has mejorado)como su nombre indica es un clon mejorado del vi editor de texto. los vi El editor de texto fue desarrollado originalmente por Billy Joy en 1976 para el sistema operativo propietario Unix. Bram Moolenar posteriormente mejorado vi y lo lanzó como vim En 1991.

Tanto Emacs como Vim son completamente gratuitos y de código abierto publicados bajo licencias compatibles con GPL.

Filosofía del diseño

Esta es la diferencia más importante entre los dos programas. Tanto Vim como Emacs, aunque son editores de texto, tienen diferentes filosofías de diseño y, por lo tanto, tienen dos propósitos diferentes.

Empuje

Vim fue diseñado para ser el editor de texto más eficiente de la historia. Tiene un tamaño muy pequeño, se abre muy rápido, eliminó la necesidad de tocar un mouse (e incluso las teclas de flecha), tiene cientos de combinaciones de teclas y comandos para acelerar el proceso de edición.

Tiene soporte modal (normal, de edición, visual, modo de comando) para navegar por miles de líneas de código y realizar cambios con solo presionar unas pocas teclas. Para examplesolo se necesita 55 pulsaciones de teclas para contar del 1 al 100 en forma de palabra!!

Emacs

Emacs está diseñado para ser mucho más que un simple editor de texto. En su lugar, Emacs le proporciona un amplio entorno para trabajar. Por lo general, las personas que usan Emacs no close eso durante todo el día. El editor de texto es solo una parte del entorno de Emacs.

Emacs presenta un lenguaje completo de Turing, Lisp, con el que puede escribir CUALQUIER extensión que desee para su entorno Emacs. De esta manera, puede obtener todo lo que ofrece Vim en Emacs con la ayuda de las extensiones.

Puede tomar notas de clase en Emacs, acceder al administrador de archivos, usar IRC, escuchar música, hacer presentaciones, navegar por Internet, usar una calculadora gráfica, jugar juegos, usar Reddit, incluso editar videos y mucho más. Incluso puedes abrir un bash shell DENTRO de Emacs, lo que significa que incluso puede usar Vim dentro de Emacs.

Emacs es un gran sistema operativo, pero le falta un buen editor

– Viejo proverbio Vim

Navegando Reddit en Emacs usando la extensión md4rd

2. Velocidad

Tanto VIM como Emacs son súper rápidos, especialmente cuando se comparan con los editores de texto GUI de Electron de hoy en día (como Brackets y Atom). Hay argumentos en contra de que Emacs sea más lento que Vim, pero las diferencias son muy insignificantes. Emacs tarda alrededor de 1-2 segundos en el inicio en comparación con el inicio instantáneo de Vim. Sin embargo, esto no importa ya que una vez que abre Emacs, realmente no close hasta que termine su jornada laboral.

3. Curva de aprendizaje

La curva de aprendizaje es uno de los principales factores que deciden qué editor elegir o si vale la pena elegirlo.

EMPUJE

Vim es conocido por su pronunciada curva de aprendizaje. Esto es grande debido a los atajos y comandos poco intuitivos que presenta de forma predeterminada. Sin embargo, una vez que lo domine, puede aumentar su productividad exponencialmente. Vim ofrece funciones como vimtutor, que pueden ayudarlo a comenzar con lo básico en un par de horas y, con el tiempo, aprenderá funciones más avanzadas, como macros y registros.

Es posible que tenga la tentación de cambiar las combinaciones de teclas a algo más intuitivo al principio, pero esto se desaconseja encarecidamente. Esto se debe a que las combinaciones de teclas de

Emacs

La curva de aprendizaje de Emacs depende de lo que quieras hacer. El editor de texto, aunque sigue siendo más difícil de lo habitual, es relativamente fácil de usar (en comparación con vim). Pero el editor de texto es solo una pequeña parte de Emacs. Dependiendo de si quieres diseñar una extensión para integrar chat de contracción a emacs solo quiero tomar notas de clase sobre modo org.

4. Extensibilidad

La extensibilidad de cualquier software es su columna vertebral. Cualquier software que no sea extensible muere con el tiempo cuando no puede adaptarse a las nuevas tecnologías. Sin embargo, este no es el caso con Vim y Emacs.

Empuje

Vim tiene una comunidad muy activa que proporciona extensiones y complementos para el software. Puede agregar resaltado de sintaxis, compatibilidad con git, temas elegantes, explorador de sistemas de archivos, etc. A través de las extensiones, es posible agregar la funcionalidad vim existente y básicamente convertirla en un IDE completo.

VimImpresionante es un gran directorio para comenzar con los complementos.

Extensión Nerdtree VimVim con la extensión Nerd Tree

Emacs

Como hemos visto antes, Emacs toma la idea de extensibilidad con esteroides. Puede agregar cualquier extensión que su mente pueda comprender y sus manos puedan escribir. Aquí hay un proyecto que le brinda cientos de extensiones útiles que incluyen administrador de archivos, navegación rápida, soporte de sintaxis para múltiples idiomas, navegador, integraciones con la búsqueda de Google, mapas de Google y traductor de Google, configuraciones de blog, compatibilidad con LateX y PDF, compatibilidad con IRC, Twitter integración y mucho más.

Emacs incluso tiene un administrador de paquetes dedicado para realizar un seguimiento de todos los paquetes instalados.

Programadores reales

Conclusión

Tema EmpujeEmacs
VelocidadMuy rapidoinsignificantemente más lento que Vim
Curva de aprendizajeEmpinadoUn poco más fácil (pero generalmente depende de la tarea)
ExtensibilidadTiene complementos para ayudar con el desarrollo.Es básicamente un sistema operativo. Increíble cantidad de extensiones

Vim es un editor de texto dedicado y hace el trabajo de manera muy eficiente. Es mínimo, rápido, sencillo y debería ser su opción si está buscando un editor de texto productivo para cualquier trabajo.

Emacs, por otro lado, es una bolsa de herramientas. También tiene un editor de texto, calculadora, integración de IRC, etc. Si está dispuesto a dedicar tiempo a configurar todo el entorno, puede ser muy productivo y valioso, ya que básicamente nunca necesita dejarlo.

Mi elección personal es Vim porque personalmente no quiero esforzarme en configurar algo que no usaré tanto, ya que la mayor parte de mi trabajo se concentra en navegadores gráficos con HTML5 y Javascript, lo que podría ser un problema en Emacs.

Lecturas adicionales

Related Posts