Vim vs emacs comparación detallada

Vim vs emacs comparación detallada
La comunidad de Linux no es ajena a los acalorados debates. Desde discutir los pros y los contras de un software de código abierto versus de código abierto hasta defender sus distribuciones favoritas con el celo de un caballero que defiende el último reducto, los usuarios de Linux pueden ser extremadamente obstinados, lo que no facilita a los recién llegados encontrar 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 venerables editores de texto que muchos usuarios y programadores experimentados de Linux aún prefieren como alternativas a editores e IDE modernos como texto sublime, código de estudio visual o IntelliJJ.

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ía poder decidir cuál de los dos editores de texto se ajusta más a sus necesidades y preferencias y si no debe seguir con algo más moderno después de todo.

Filosofía de diseño

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

Al igual que VI, Vim tiene la intención de 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 saber al menos lo básico porque nunca se sabe cuándo necesitará editar un archivo de texto en un sistema que no tenga su editor de texto favorito.

Emacs ha existido desde 1976, y su nombre significa Editor Macros. La versión de Emacs que la mayoría de la gente usa hoy se llama GNU Emacs, que fue creado por ningún otro fundador de GNU Project Richard Stallman. Al igual que Vim, Emacs se ejecuta básicamente en todos los sistemas operativos que alguna vez encontrará. Sin embargo, debido a que es un software relativamente grande, generalmente no viene preinstalado.

La razón por la cual Emacs es grande tiene todo que ver con el hecho de que está mucho más cerca de un sistema operativo que un editor de texto. Cuenta con un lenguaje de programación completo, Emacs Lisp, lo que permite personalizar y extender las emacs de manera que la mente tiene problemas para comprender. Para ilustrar lo que queremos decir, le recomendamos que visite el sitio web de Gnave, un editor de videos 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 las imágenes de Google en una ventana separada y reproducir con los KeyBindings 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 saber 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 comandos de uso común, lo que hace que el editor sea aún más fácil de aprender.

Emacs es como un juego de sandbox. Comienza con una caja marrón sin etiqueta que está llena de herramientas capaces de lograr casi cualquier cosa que pueda 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, pero puedes pasar horas con ellas, y apenas rascarás la superficie de lo que pueden hacer los emacs. Sí, puede ser extremadamente gratificante conocer los entresijos de Emacs, pero debes preguntarte si el viaje vale la pena el esfuerzo.

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 comenzar, y es modal, al igual que la mayoría de los editores de texto hoy en día.

Aunque los emacs pueden llevar hasta 2-3 segundos para cargarse en sistemas más antiguos, a la mayoría de los usuarios no les importa en absoluto porque nunca lo cierran. En cambio, abren emacs en modo de shell, lo que les permite ejecutar shell en emacs, en lugar de al revés. Con Shell Running Inside Emacs, puede vivir más o menos dentro del software 24/7 y usarlo para hacer todo, desde escuchar música hasta tomar notas hasta 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 mantener el enfoque 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 a este respecto.

Personalización y extensibilidad

Tanto los complementos de soporte de VIM como EMACS 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 está de gira completa, sus capacidades son ilimitadas.

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

(Defun Prelude-Google ()
"Google una consulta o región si."
(interactivo)
(Examinar a la url
(Concat
"http: // www.Google.com/búsqueda?es decir = utf-8 & oe = utf-8 & q = "
(Si Mark-activo
(Buffer-Suctring (región de región) (extremo de la región))
(lectura "Google:")))))

Para obtener más información sobre la impresionante extensibilidad de los 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 faltan cierta funcionalidad, generalmente toman uno de los miles y miles de complementos VIM disponibles. Sin embargo, también pueden usar VIMScript, el lenguaje de secuencias de comandos internos 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 hemos dicho al principio, comparar Vim con emacs es como comparar manzanas con naranjas. Uno es un editor de texto capaz con muchas características avanzadas dirigidas a los usuarios de avances, mientras que el otro es un sandbox que resulta 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 el texto sublime, Vim es el camino a seguir. Pero si desea reinventar completamente cómo edita archivos de texto y escribe aplicaciones de software, los emacs pueden darle todo lo que pueda pedir y más.

Empuje:

  • Más sencillo y más fácil de aprender que los emacs.
  • Mejor como editor de texto.
  • Preinstalado en la mayoría de las distribuciones de Linux.

Emacs:

  • Extremadamente potente e infinitamente extensible.
  • Soporte fantástico para las herramientas de GNU.
  • Incorpora la mentalidad de programación.