Saltar al contenido

¿Cuáles son los pros y los contras de Vim y Emacs?

Buscamos en distintos sitios y así de esta forma tenerte la respuesta para tu problema, si continúas con alguna pregunta puedes dejar tu pregunta y contestamos con gusto, porque estamos para ayudarte.

Solución:

Utilizo ambos, aunque si tuviera que elegir uno, sé cuál elegiría. Aún así, intentaré hacer una comparación objetiva sobre algunas cuestiones.

  • ¿Disponible en todas partes? Si es un administrador de sistemas profesional que trabaja con sistemas Unix, o un usuario avanzado en dispositivos integrados (enrutadores, teléfonos inteligentes con Busybox, …), necesita conocer vi (no Vim), porque está disponible en todos los sistemas Unix y en la mayoría de Sistemas similares a Unix, ya sean de escritorio, de servidor o integrados. Para un usuario común, este argumento es irrelevante: Emacs está fácilmente disponible para todos los sistemas operativos de escritorio / servidor, y dado que admite la edición remota, es suficiente tenerlo en su máquina de escritorio de todos modos.

  • ¿Hinchado? Emacs una vez representó con humor “Ocho megabytes y constantemente intercambiando”. En este momento, en mi máquina, Google Chrome necesita tanta RAM por pestaña como Emacs para 100 archivos abiertos, y ni siquiera mencionaré Firefox. En el siglo XXI, la hinchazón de Emacs es solo un mito.

    Característica la hinchazón tampoco es un problema. Si no lo usa, no tiene por qué saber que está allí. Las características de Emacs se mantienen fuera del camino cuando no las usa y la documentación está muy bien organizada.

  • Tiempo de inicio: Los proponentes de Vi (m) se quejan del tiempo de inicio de Emacs. Sí, Emacs tarda en iniciarse, pero esto no es gran cosa: inicia Emacs una vez por sesión, luego se conecta al proceso en ejecución con emacsclient. Entonces, el lento inicio de Emacs es principalmente un mito.

    Hay una excepción, que es cuando inicia sesión en una máquina remota y desea editar un archivo allí. Iniciar un Emacs remoto es (generalmente) más lento que iniciar un Vim remoto. En algunas situaciones, puede mantener un Emacs ejecutándose dentro de Screen. También puede editar archivos remotos desde Emacs, pero interrumpe el flujo si está en una sesión ssh en una terminal. (Desde XEmacs 21 o GNU Emacs 23, puede abrir una ventana de Emacs desde una instancia X en ejecución dentro de una terminal).

    Cambiando las tornas, he observado que Vim tarda mucho más en cargar que Emacs (vim -u /dev/null vs. emacs -q). Es cierto que esto fue en una plataforma extraña (Cygwin).

  • Curva de aprendizaje inicial: Esto varia de persona a persona. El gráfico de Michael Mrozek me hizo reír. En serio, estoy de acuerdo en que la curva de aprendizaje de Vim comienza empinada, más empinada que cualquier otro editor, aunque esto se puede reducir usando gvim.

    Ya que he disipado un par de mitos de Emacs, permítanme disipar un mito de vi: un editor modal no es difícil ni doloroso de usar. Se necesita un poco de hábito, pero después de un tiempo se siente muy natural. Si tuviera que rediseñar vi (m), definitivamente mantendría los modos.

  • Curva de aprendizaje asintótica: Tanto Vim como Emacs tienen muchas características, y seguirá descubriendo nuevas después de años de uso.

  • Productividad: Este es un tema extremadamente difícil. Los defensores de vi (m) argumentan que puede hacer prácticamente todo sin salir de la fila de inicio, y eso lo hace más eficiente cuando más lo necesita. Los defensores de Emacs replican que Emacs tiene muchos comandos que no se usan con frecuencia, por lo que no se justifica key vinculantes, pero son muy convenientes cuando los necesita (referencia obligatoria xkcd).
    Mi opinión personal es que Emacs finalmente gana a menos que tenga una discapacidad de escritura (e incluso entonces puede configurar Emacs para que solo requiera key secuencias y no combinaciones como control+ letra). Fila de inicio keys son agradables, pero a menudo no son una gran ganancia porque tienes que cambiar de modo. No creo que haya nada que pueda hacer Vim significativamente más eficientemente que Emacs, mientras que lo contrario es true.

  • Personalización: Ambos editores son programables y hay un extenso cuerpo de paquetes disponibles para ambos. Sin embargo, Vim es un editor con un macro idioma; Emacs es un editor escrito en Lisp con algunas primitivas ad-hoc. Emacs gana espectacularmente cuando intentas hacer algo en lo que los autores simplemente no pensaron. Esto no sucede todos los días, pero se acumula a lo largo de los años.

  • Más que un editor: Vim es un editor. Emacs no es solo un editor: también es un IDE, un administrador de archivos, un emulador de terminal, un navegador web, un cliente de correo, un cliente de noticias, … Si eso es bueno o malo es un tema de debate. Pero puede usar Emacs como un mero editor (vea “características hinchadas” arriba).

  • Como IDE: Tanto Vim como Emacs tienen soporte para muchos lenguajes de programación y otros formatos de texto. Más allá de lo básico, como el coloreado sintáctico y la sangría automática, ambos tienen características IDE avanzadas, como búsquedas de referencias cruzadas de código y documentación, inserciones asistidas y refactorización, control de versiones integrado y la capacidad de iniciar una compilación y saltar al primer error.

    Un dominio en el que Emacs es mejor que Vim es la interacción con asincrónico subprocesos. Ahí es cuando comienzas una compilación larga y quieres hacer algo más dentro de la misma instancia del editor mientras el compilador está funcionando. O cuando desee interactuar con un bucle Read-eval-print – Emacs realmente brilla en esto, Vim solo tiene trucos torpes para ofrecer. Sin embargo, una nueva bifurcación de vim, Neovim ha demostrado haber solucionado esto e implementado otras varias correcciones de errores no implementadas en stock vim.

Publicaré los que creo que son los principales beneficios de cada uno:


Emacs tiene considerablemente más extensiones para permitirle realizar tareas que están vagamente relacionadas con el editor de texto, como navegar por el sistema de archivos o jugar con el control de versiones, y extensiones que de ninguna manera están relacionadas con el editor de texto, como leer feeds RSS. Si desea un entorno en lugar de solo un editor de texto, Emacs será mejor que Vim. También creo que Emacs es mucho más fácil de aprender, a pesar de lo que algunos quieran hacerles creer:

Cómic de curva de aprendizaje del editor

En particular, creo que un usuario novato de Emacs será más rápido que un usuario novato de Vim


Por otro lado, Vim es innegablemente más rápido. Parece que esta es una parte central del argumento, pero en mi opinión no hay competencia en absoluto; Me considero un usuario fluido de Emacs, y no soy rival para la pareja de personas que conozco que tienen el mismo conocimiento de Vim. El problema es que la cantidad de personas que tienen suficiente dominio de Vim para ser tan rápidos es increíblemente pequeña (de las ~ 30 personas con las que hablo regularmente que usan Vim, creo que solo una es excepcionalmente buena en eso). Hay una gran brecha entre el posible ganancia de velocidad y la real ganancia de velocidad que logra; Los usuarios de Emacs van a ser casi tan rápidos como el 99% de los usuarios de Vim, y (como dije en la sección de Emacs) los usuarios principiantes de Emacs probablemente serán más rápidos que los usuarios principiantes de Vim

Hay un vi disponible en todos los sistemas Unix (o casi), sin embargo, no se puede decir esto de ningún otro editor. Esta es la razón número 1, en mi opinión, para aprender y familiarizarse con vi (tenga en cuenta ‘vi’ no ‘vim’). Nunca he visto que Emacs esté disponible en una instalación predeterminada.

No estoy diciendo que no use Emacs o esta es la única razón para usar Vim, pero cuando quiera poder usar sistemas Unix que no son suyos … vi es parte del lenguaje universal.

Te mostramos las reseñas y valoraciones de los usuarios

Puedes añadir valor a nuestra información tributando tu experiencia en los informes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *