Este artículo se sumerge en esta larga y continua guerra de editores y toma una decisión sobre qué programa, emacs o vim, toma la ventaja sobre la otra.
¿Qué son emacs y vim??
Vim es uno de los editores de texto más antiguos basados en UNIX que existen. Este editor de texto es una evolución de VI, un editor de texto de los primeros días de Unix. Vim rápidamente ganó popularidad después de su introducción, ya que no solo tenía casi todas las características de VI integradas, sino que también agregó algunas funciones adicionales que lo hicieron mucho más poderoso que su predecesor.
El encanto de Vim surge de ser extremadamente liviano y tener una interfaz con varios modos, cada uno con un propósito diferente y útil. Con características como un árbol de deshacer de varios niveles, una gran colección de complementos, potentes herramientas de manipulación de texto y soporte para docenas de lenguajes de programación, Vim es sólido como un editor de texto como editor de texto.
Emacs, por otro lado, es un editor multiplataforma con una interfaz no modal. Emacs es como Vim, siendo un antiguo editor de texto que ha sido popular durante años. Sin embargo, en lugar de llamarlo editor de texto, Emacs es mucho más, algo como lo que llamaría un sistema operativo. Conocido por ser altamente extensible, EMACS es fácil de ajustar y personalizar, y permite la implementación de diversas funciones y métodos, lo que da una clara indicación de cuán poderosa puede ser esta herramienta. EMACS tiene soporte para una abundancia de paquetes y extensiones, y los usuarios pueden usarlos para configurar aún más este programa, haciéndolo aún más poderoso que antes.
Con una breve introducción sobre lo que ofrece cada editor completado, veamos ahora algunas de las características que tanto emacs como Vim proporcionan.
1) Más que un editor de texto
Como editores de texto, tanto emacs como Vim se destacan en el trabajo que deben hacer. Ambos editores contienen soporte para múltiples idiomas, además de proporcionar características que sacan lo mejor de un desarrollador. Ambos editores pueden hacer cualquier cosa que puedas imaginar.
La diferencia entre estos dos surge del hecho de que, a diferencia de Vim, Emacs no es solo un editor de texto, sino que tiene un entorno ideal. En otras palabras, Emacs es una máquina LISP completamente completa, una interfaz que ofrece múltiples herramientas a sus usuarios y crea un mundo completamente abierto, donde los usuarios pueden estar en línea las 24 horas, los 7 días de la semana, y vivir dentro del programa.
Por ejemplo, a diferencia de los usuarios de VIM, que deben abrir el terminal por separado para usar el programa, Emacs viene junto con una carcasa incorporada propia.
Los usuarios de EMACS también tienen acceso a características como un navegador web, toma de notas y archivos de organización, así como múltiples juegos, como Tetris.
Navegador web:
Org -Mode - Organizador:
Tetris:
Como se ve en los ejemplos anteriores, la edición de texto es solo un aspecto entre la docena de características presentes en emacs.
2) Personalización
Tanto las emacs como el VIM son conocidos por ser extremadamente personalizables y versátiles, con una gran cantidad de complementos y extensiones para ayudar a configurar los programas agregando más funcionalidades.
Emacs lleva esto un paso más allá al usar el lenguaje de programación LISP. Puede implementar y redefinir casi cualquier cosa en emacs usando Lisp.
Por ejemplo, digamos que desea definir una función, que después de ejecutar, ejecuta Bing en el navegador web. Esto se puede implementar fácilmente en emacs usando LISP. Para agregar esta función a los EMAC, las siguientes líneas de código deben agregarse al archivo de inicialización de EMCAS (~/.archivo emacs):
(Defun Searcher ()Para aquellos que se usan para usar VIM, EMACS también proporciona a los usuarios paquetes que les permiten lograr un comportamiento similar a VIM dentro de las emacs. El paquete más conocido es el modo malvado, que es un modo emacs extremadamente poderoso que emula VI por completo y también trata de expandirlo agregando características más compatibles y potentes.
3) interfaz fácil de usar
Como se mencionó anteriormente, VIM es un editor modal, lo que significa que tiene múltiples modos para llevar a cabo diferentes funciones. Para los principiantes, esto puede parecer difícil, ya que cambiar de un modo a otro y aprender a lidiar con el texto en cada modo puede resultar bastante complicado al principio.
Los emacs, por otro lado, parecen ser más accesibles para los nuevos usuarios, ya que tiene una interfaz no modal y los enlaces clave no parecen ser tan extranjeros.
4) ELISP VS VIM Script
El script Elisp y Vim son los lenguajes de programación definidos para emacs y vim, respectivamente. Estos scripts se utilizan para escribir funciones y complementos para extender aún más las capacidades de los editores. Al comparar estos dos idiomas uno al lado del otro, ELISP superpone a Vim por un amplio margen. En comparación con ELISP, VIM Script es mucho más difícil de configurar y tiene muy pocas bibliotecas para trabajar. Elisp, sin embargo, se encuentra en el corazón de los emacs y se considera lo suficientemente poderoso como para implementar cualquier cosa.
Por qué Emacs es mejor que Vim?
Tanto Emacs como VIM son excelentes herramientas para editar archivos de todo tipo de lenguajes de programación. Ambos son extremadamente potentes y proporcionan grandes conjuntos de herramientas para que sus usuarios trabajen con. Sin embargo, los emacs no solo tienen las herramientas de edición que tiene Vim, sino que también se expande al proporcionar características adicionales, como el cliente de correo electrónico, el depurador, etc.
Incluso con todas estas características presentes, Emacs le permite personalizarla y agregarle funcionalidades, lo cual es una buena indicación del poder y la complejidad que existe en el núcleo de Emacs. Al ser infinitamente extensible, Emacs se encuentra la cabeza y los hombros sobre Vim.