Emacs

Comparación detallada de Vim vs Emacs

Comparación detallada de Vim vs Emacs
La comunidad de Linux no es ajena a los acalorados debates. Desde discutir los pros y los contras del software propietario frente al software de código abierto hasta defender sus distribuciones favoritas con el celo de un caballero defendiendo el último reducto, los usuarios de Linux pueden ser extremadamente testarudos, lo que no facilita que los recién llegados encuentren información útil e imparcial.

Un debate que ha confundido a los recién llegados durante décadas ahora gira en torno a Vim versus Emacs, que son dos editores de texto venerables que muchos usuarios y programadores experimentados de Linux todavía prefieren como alternativas a los editores e IDE modernos como Sublime Text, Visual Studio Code o IntelliJ.

En este artículo, comparamos Vim y Emacs para explicar por qué comparar estos dos editores de texto es como comparar manzanas con naranjas. Al final de este artículo, deberías poder decidir cuál de los dos editores de texto se adapta más a tus necesidades y preferencias y si, después de todo, no deberías quedarte con algo más moderno.

Filosofía de diseño

Vim se lanzó por primera vez en 1991 como un descendiente directo de vi, un editor de texto orientado a la pantalla mucho más antiguo desarrollado originalmente por Bill Joy para el sistema operativo Unix. El creador de Vim, Bram Moolenaar, originalmente nombró al editor Vi Imitation, pero luego decidió cambiar el significado del acrónimo a Vi Improved. Un fanático del software de código abierto, Moolenaar lanzó Vim bajo una licencia de software benéfico, alentando a los usuarios que disfrutan del editor de texto a donar a niños en Uganda.

Al igual que Vi, Vim está diseñado para ser rápido, fácilmente disponible y extremadamente versátil. Viene preinstalado en la mayoría de las distribuciones de Linux y está disponible para prácticamente todos los sistemas operativos. Debido a que Vim está en todas partes, realmente vale la pena conocer al menos lo básico porque nunca se sabe cuándo necesitará editar un archivo de texto en un sistema que no tiene su editor de texto favorito.

Emacs existe desde 1976, y su nombre significa Editor MACroS. La versión de Emacs que la mayoría de la gente usa hoy en día se llama GNU Emacs, que fue creada nada menos que por el fundador del Proyecto GNU, Richard Stallman. Al igual que Vim, Emacs se ejecuta básicamente en todos los sistemas operativos con los que se encontrará. Sin embargo, debido a que es una pieza de software relativamente grande, generalmente no viene preinstalado.

La razón por la que Emacs es grande tiene mucho que ver con el hecho de que está mucho más cerca de un sistema operativo que de un editor de texto. Cuenta con un lenguaje de programación completo de Turing, Emacs Lisp, que hace posible personalizar y extender Emacs de maneras que la mente tiene problemas para comprender. Para ilustrar lo que queremos decir, lo alentamos a que visite el sitio web de GNEVE, un editor de video para Emacs.

Facilidad de uso

La imagen de arriba ilustra perfectamente las curvas de aprendizaje de Vi / Vim, Emacs y otros editores de texto populares. Con Vim, todo lo que necesita hacer para comenzar es abrir casi cualquier hoja de trucos que encuentre en Google Images en una ventana separada y jugar con las combinaciones de teclas por un tiempo. Inicialmente, ni siquiera sabrá cómo editar un archivo de texto, pero no le llevará más de un par de horas conocer todos los conceptos básicos.  Incluso puede descargar una versión GUI de VIM, como gVim, para agregar menús y barras de herramientas para los comandos de uso común, lo que hace que el editor sea aún más fácil de aprender.

Emacs es una especie de juego de caja de arena. Comienza con una caja marrón sin etiqueta que está repleta de herramientas capaces de lograr casi cualquier cosa que puedas imaginar, incluida la edición de archivos de texto. El único problema es que no hay una forma obvia de cómo abordar este sandbox. Si bien hay hojas de trucos y tutoriales en línea, puede pasar horas con ellos y apenas arañará la superficie de lo que puede hacer Emacs. Sí, puede ser muy gratificante conocer los entresijos de Emacs, pero debería preguntarse si el viaje merece la pena.

Productividad

Vim es un editor de texto rápido que se abre instantáneamente y presenta a sus usuarios dos modos: modo de inserción y modo de comando. El primero es donde escribe texto en el editor, mientras que el segundo es donde ingresa atajos de teclado para ejecutar varios comandos. Emacs tarda un poco más en iniciarse y no tiene modo, al igual que la mayoría de los editores de texto actuales.

Aunque Emacs puede tardar entre 2 y 3 segundos en cargarse en sistemas más antiguos, a la mayoría de los usuarios no les importa en absoluto porque nunca lo cierran. En su lugar, abren Emacs en modo shell, lo que les permite ejecutar shell en Emacs, en lugar de al revés. Con shell ejecutándose dentro de Emacs, puede más o menos vivir dentro del software 24/7 y usarlo para hacer de todo, desde escuchar música hasta tomar notas y jugar juegos.

No hace falta decir que es fácil distraerse con Emacs si eres el tipo de persona a la que le gusta jugar con el software. Pero si logra mantenerse enfocado y usa Emacs para mejorar su flujo de trabajo, su productividad puede dispararse. Para la edición de texto puro, Vim suele ser más rápido, pero la experiencia juega un papel muy importante en este sentido.

Capacidad de personalización y extensibilidad

Tanto Vim como Emacs admiten complementos que pueden mejorar su funcionalidad, Emacs lleva la personalización y la extensibilidad un paso más allá con su lenguaje de programación Emacs Lisp. Debido a que Emacs Lisp es Touring completo, sus capacidades son ilimitadas.

¿Le gustaría buscar en Google directamente desde Emacs?? Simplemente ejecute el siguiente código de Emacs Lips, escriba M-x prelude-google, y este nuevo comando funcionará instantáneamente:

(defun preludio-google ()
"Busca en Google una consulta o una región, si la hubiera."
(interactivo)
(URL de navegación
(concat
"http: // www.Google.com / search?es decir, = utf-8 & oe = utf-8 & q = "
(si marca activa
(subcadena de búfer (comienzo de la región) (final de la región))
(cadena de lectura "Google:")))))

Para obtener más información sobre la impresionante extensibilidad de Emacs, le recomendamos que lea este artículo escrito por Bozhidar Batsov, el autor del fragmento de código anterior.

Cuando los usuarios de Vim sienten que les falta cierta funcionalidad, generalmente toman uno de los miles y miles de complementos de Vim disponibles. Sin embargo, también pueden usar Vimscript, el lenguaje de scripting interno de Vim. Tanto Vim como Emacs también admiten temas, por lo que no hay nada que le impida fingir ser Neo de Matrix.

Conclusión

Como dijimos al principio, comparar Vim con Emacs es como comparar manzanas con naranjas. Uno es un editor de texto capaz con muchas funciones avanzadas dirigidas a usuarios avanzados, mientras que el otro es una caja de arena que resulta ser excelente para editar archivos de texto. Si está satisfecho con su flujo de trabajo actual y solo desea una alternativa a los editores de texto modernos como Sublime Text, Vim es el camino a seguir. Pero si desea reimaginar completamente cómo edita archivos de texto y escribe aplicaciones de software, Emacs puede brindarle todo lo que pueda pedir y más.

Empuje:

Emacs:

Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...
El botón de clic izquierdo del mouse no funciona en Windows 10
Si está utilizando un mouse dedicado con su computadora portátil o computadora de escritorio, pero el el botón izquierdo del mouse no funciona en Wind...