tutorial para codigo vim emacs editor

vim - para - spacemacs



Diferencias entre Emacs y Vim (28)

  1. Vim siempre fue más rápido en arrancar que Emacs. Estoy diciendo que en cualquier máquina, las instalaciones fuera de la caja de Vim se iniciarán más rápido que las instalaciones fuera de la caja de Emacs. Y tiendo a pensar que después de una cantidad moderada de personalización de cualquiera de los dos, Vim se iniciará más rápido que Emacs.

  2. Después de eso, la otra diferencia práctica fueron los modos de Emacs. Hacen su vida tremendamente más fácil al editar XML, C / C ++ / Java / lo que sea, LaTeX y los lenguajes más populares que pueda imaginar. Hacen que quieras mantener el editor abierto para largas sesiones y trabajo.

En general, diré que Vim lo atrae para tareas de edición cortas y rápidas; mientras que Emacs lo alienta a bucear durante largas sesiones.

Sin entrar en una discusión religiosa sobre por qué uno es mejor que el otro, ¿cuáles son las diferencias prácticas entre Emacs y Vim? Busco aprender una o la otra, pero me doy cuenta de que la curva de aprendizaje para cada una es alta y no puedo decidir. Nunca he usado un editor de este tipo (siempre he usado IDE), por lo que cualquier cosa que ayude a un novato es una ventaja.

Antes de que comience la guerra de las llamas: no estoy preguntando cuál es mejor, estoy preguntando las diferencias entre los dos. Me gustaría una comparación objetiva .


Ahora ni siquiera necesita pensar en la diferencia entre estos dos debido a Spacemacs . Es una distribución de Emacs impulsada por la comunidad.

Como se dijo,

El mejor editor no es ni Emacs ni vim, es Emacs y Vim.

Spacemacs combina lo mejor de Emacs y Vim, lo que hace que tu vida y tu trabajo sean mucho más fáciles.

También tiene un logotipo decente.

Ver captura de pantalla a continuación,

http://spacemacs.org/doc/img/spacemacs-python.png


Comencé con vi, fui a emacs, luego a vim. He estado pensando en probar a Emacs para ver qué ha cambiado en los últimos cinco años. (Hablando de IDE, me había metido en eclipse por un tiempo, pero prefiero que mi ventana de terminal conecte mi Mac a la caja de Linux de mi esposo).

La cosa de cortar y pegar me ha estado molestando últimamente. Cortar y pegar en Vim toma más pasos que en Emacs, IIRC. Y pegar desde un navegador a una ventana de terminal es irritante a menos que hagas algo sofisticado que no tengo ganas de hacer, así que aguanto la sangría extraña. Creo que editar archivos múltiples en emacs fue más fácil. Al menos, salte de un archivo a otro si tiene ambos en la pantalla.

No he jugado con las características extravagantes de vi o emacs, ya que me gusta dedicarme al negocio de la codificación. Todo lo que necesito son los colores bonitos y la pestaña adecuada para la conversión del espacio (especialmente importante con python).

Creo que todo depende de si quieres usar :wq o Ctrl-x Ctrl-s (IIRC) para guardar un archivo si no te importan las cosas elegantes.

@mgb estaba en lo correcto. He estado en el mínimo de Linux para arreglar algo hace uno o dos meses en una distro de Debian. vi fue el único editor disponible.


Emacs tiene el modo viper, por lo que en cierto sentido proporciona un superconjunto de funciones (¿con excepción de las descritas en las funciones de Vim que faltan en Emacs con Viper y Vimpulse? ).

vi (y VIM IIRC) es más liviano (puede editar archivos en su lugar), pero ofrece menos funciones (comunicación de subproceso, lenguaje de extensión).


Hay una gran diferencia en el nivel del día a día: Vim (o cualquier variante de vi) es inherentemente modal (entras en los modos de comando donde no puedes editar) y Emacs (junto con la mayoría de los otros editores) no.

Claro, al usar los menús, no tiene que ingresar al modo de comando en Vim, al principio. Pero para usar incluso una pequeña fracción del poder de Vim lo harás. Eso está en el corazón del debate Vim / Emacs.

Personalmente, también creo que Emacs es mucho más extensible. Puedes encontrar paquetes Elisp para muchas cosas.

Sin embargo, tengo curiosidad por saber por qué piensa aprender uno de estos sobre un IDE más tradicional. ¿Para qué quieres aprender uno de estos?


La mayor diferencia para mí al elegir usar emacs sobre vim fue el soporte gdb incorporado en emacs. Vim no tiene esto incluido en su distribución por defecto y el proyecto allí para integrar gdb y vim era casi imposible trabajar con MacVim


Me gustaría poner aquí una cita del libro "El arte de la programación UNIX":

Muchas personas que usan regularmente tanto vi como Emacs tienden a usarlos para diferentes cosas, y les resulta valioso conocer ambos.

En general, vi es mejor para trabajos pequeños: respuestas rápidas al correo, ajustes simples a la configuración del sistema y similares. Es especialmente útil cuando está utilizando un nuevo sistema (o uno remoto a través de una red) y no tiene a mano sus archivos de personalización de Emacs.

Emacs se adapta a las sesiones de edición extendidas en las que tiene que manejar tareas complejas, modificar varios archivos y usar los resultados de otros programas durante la sesión. Para los programadores que usan X en su consola (lo que es típico en los Unixes modernos), es normal iniciar Emacs poco después del tiempo de inicio de sesión en una ventana grande y dejarlo funcionando para siempre, posiblemente visitando docenas de archivos e incluso ejecutando programas en múltiples subventanas de Emacs.

Lo que realmente quiero resaltar aquí es: «A muchas personas les resulta valioso conocer ambas cosas ».


Para mí los pros de emacs son,

  • el modo tramp le permite editar archivos remotos a través de ssh. al igual que los archivos locales.
  • modo tramp + dired = cliente sftp con todas las funciones
  • Soporte para todos los idiomas que necesites.
  • construido en el emulador de terminal (modo term) para que pueda mantener la codificación sin cambiar entre aplicaciones.
  • Extensibilidad: cualquier cosa que no te guste, puedes cambiarla usando lisp.

Para mí, emacs tiene mejores herramientas de desarrollo (no solo herramientas basadas en etiquetas).


Parece que ya se ha seleccionado una respuesta, pero la gran diferencia para mí siempre ha sido modal versus no modal. Vim es modal, lo que significa que realiza optimizaciones basadas en un conjunto específico de modos de uso. Al menos así es como siempre lo he mirado. Esto hace que el uso de Vim sea una experiencia diferente porque, en lugar de tener un área de trabajo en la que se ingresa el código, realmente le está diciendo a un entorno que actúe sobre el texto. Es por eso que la gente dice cosas como con Vim que realmente estás aprendiendo un idioma. El: wq y: s / foo / bar forman parte de un entorno similar a un shell que edita y lee texto.

Emacs, por otro lado, está mucho más cerca de la mayoría de los editores / procesadores de texto / etc. que ves hoy Tienes un espacio de trabajo que tiene una interfaz altamente programable. Es por eso que ve cosas como correo electrónico, irc, shells, etc. Como programador es fácil pensar en términos de decir "tome el número de línea en el que estoy y haga algo con la información". El deseo de abandonar el editor se vuelve menos porque en lugar de tener que salir, abra otra aplicación / idioma y haga cosas en algún texto, tiene Emacs donde puede hacer estas cosas dentro del alcance de su editor.

Las dos ideas no están necesariamente en contraste, pero es simplemente que revelan dos enfoques diferentes. Personalmente uso Emacs, pero he visto gente que conoce a Vim realmente bien y puedo decir honestamente que no importa cuál elijas. Primero probé con Vim, pero Emacs terminó por pegarme. Es cierto que no importa lo que elijas, debes ser al menos algo competente en Vim, ya que siempre está disponible.


Se han dicho muchas cosas sobre ambos editores, pero solo tengo que añadir mis 5 peniques. Ambos editores son maravillosos y no puedes equivocarte con ninguno de ellos.

Soy usuario de vi / vim desde hace unos 15 años. He intentado convertir a emacs varias veces, pero cada vez fue más bien descubrir que vim realmente puede hacer lo que falta de la caja sin la necesidad de escribir una extensión lisp o instalar algo.

Para mí, la principal diferencia en los editores que vim hace que uses el entorno / sistema operativo, mientras que Emacs intenta encapsularlo o reemplazarlo. Por ejemplo, puede agregar una fecha en su texto por: r! Date en vim, o calendar con: r! Cal 1 2014, o incluso reemplazar el contenido de su búfer con la versión hexadecimal del contenido. P.ej. :%! xxd, edita el hex y luego vuelve con:%! xxd -r, y muchos otros usos más, como grep incorporado, sed, etc.

También obtiene la funcionalidad de edición por lotes EX, por ejemplo. Reemplazando ciertas palabras, reformateando el código, convirtiendo dos-> caracteres de nueva línea de Unix, ejecute una macro en, por ejemplo, 100 archivos a la vez. Se hace fácilmente con ex. No estoy seguro si emacs tiene algo similar.

En otras palabras, IMHO vim se acerca más a la filosofía de Unix. Por lo general, es más simple y más pequeño, pero si conoce su sistema operativo y sus herramientas, probablemente no necesite más de lo que VIM puede ofrecer. Yo nunca.

Además de que vi es estándar de facto en cualquier sistema Unix / Linux, ¿por qué aprender a usar 2 herramientas que hacen lo mismo? Por supuesto, algunos sistemas ofrecen mg o algo similar, pero definitivamente no todos. Unix + Vi <3.

Bueno, solo mis 5 peniques.


Si está buscando un análisis objetivo de ambos editores, observe sus orígenes y la filosofía detrás de sus respectivos diseños. Piense, cuál le conviene mejor y apréndalo (y apréndalo y apréndalo, porque se necesita tiempo para que descubra su verdadera utilidad frente a cualquier IDE). Bill Joy y Mark Horton escribieron una Introducción a la Edición de Pantallas con Vi y él explica por qué elige el diseño modal y la lógica de varias pulsaciones de teclas (me ayuda a recordar que CTRL-W + W (cambiará a la siguiente ventana). será igual para CTRL W + CTRL W, en caso de que mantuviera presionada la tecla CTRL durante más tiempo.

Aquí hay un enlace a la línea de tiempo de Emacs y tiene la referencia al artículo de Multics Emacs. Aquí está el documento de RMS sobre Emacs , donde veo que el énfasis está en un editor de texto programable (incluso en 1981 y antes).

No he leído los documentos de Emacs, pero he leído el artículo vi de Bill Joy un par de veces. Ambos son viejos, pero aún así obtendrás la filosofía y podrías elegir usar la herramienta actual (vim 7.x o emacs 25?)

Edición: olvidé mencionar que se necesita paciencia e imaginación para leer estos dos documentos, ya que te hace retroceder en el tiempo mientras lo lees. Pero vale la pena.


Soy un fanático de Emacs en toda regla, pero conocí a VI mucho antes de conocer a Emacs. Dicho esto, hago que toda mi gente aprenda VI porque siempre está disponible, en todas partes. No te puedes equivocar con ninguno de ellos.


Un punto de vista ictérico:

vi (no vim) es una necesidad profesional. Siempre tiene alguna forma de vi fácilmente disponible, sin importar el entorno. Puedes estar en vi cuando en emacs, puedes estar en vi para construir comandos bash en unix-land.

Incluso Microsquish tiene que admitir vi (aunque hacen un buen trabajo al esconderlo) debido al cumplimiento corporativo y gubernamental de los estándares publicados.

En mi opinión, si usted está en un trabajo práctico en un entorno ocupado, no una flor de invernadero confinada a una plataforma de lujo en un entorno de desarrollo, o en la academia, saber mucho sobre un editor elegante es una desventaja laboral. No aprendas todos los trucos de fantasía en vim o emacs, y no desarrolles un montón de macros para hacer que el entorno de edición se adapte a tu voluntad. Es una enorme pérdida de tiempo que se interpone en su camino cuando atiende a diferentes máquinas que probablemente no pueda justificar en un entorno de fábrica.

Lea el artículo de Bill Joy: es un ejercicio de ingeniería muy competente, quizás incluso hermoso, para editar texto sin formato muy, muy rápido. La regla de Parito se aplica aquí: el 80% de la fruta está en el 20% de las canastas. La edición de texto sin formato muy, muy rápido es el quid de la competencia de edición, todo lo demás es opcional y, a veces, hiriente.


VI siempre está disponible y se ejecutará en el modo de usuario único más paralizado, gráficos rotos, sin mapa de teclas, máquina de enlace lento, por lo que vale la pena saber cómo editar archivos simples solo para tareas de administrador del sistema.

Emacs es una interfaz de usuario completa en un editor. La idea es que encienda Emacs cuando encienda la máquina y nunca la deje. Es posible tener miles de sesiones presentes.

Depende de usted aprender si las capacidades de Emacs valen la pena en comparación con usar un editor de GUI / IDE y usar algo como python / awk / etc para tareas adicionales.


Vim no es una concha. Y no se comunica bien con los subprocesos. Esto es casi por diseño, mientras que en Emacs, estos elementos se incluyen por diseño. Esto significa que algunas cosas, como incrustar un depurador o un intérprete (que produce una especie de IDE), son difíciles en Vim.

Además, a los accesos directos de Emacs se accede principalmente a través de modificadores, y obviamente la interfaz Vim es modalmente famosa, dando acceso a una cantidad absurda de claves directas para la manipulación.

Emacs solía ser el único editor de los dos que era programable, y aunque Vim tiene muchos niveles extraños en su capacidad de programación, con la adición de enlaces de Python y Ruby (y más, me olvido), Vim también es programable de muchas maneras. te importaria

Uso Vim, y estoy bastante contento con eso.


(El texto a continuación es mi opinión, no debe tomarse como un hecho o un insulto)

Con Emacs se espera que lo tengas abierto las 24 horas del día, los 7 días de la semana y que vivas dentro del programa, casi todo lo que haces se puede hacer desde allí. Usted escribe sus propias extensiones, las usa para tomar apuntes, organización, juegos, programación, acceso de shell, acceso a archivos, escuchar música, navegar por la web. Toma semanas y semanas hasta que estés contento con eso y luego aprenderás cosas nuevas todo el tiempo. Te molestarás cuando no tengas acceso y cambiarás tu configuración constantemente. No podrá usar las versiones de emacs de otras personas fácilmente y no se instalará simplemente. Utiliza Lisp, lo cual es genial. Puedes convertirlo en lo que quieras que sea. (nada en absoluto)

Con Vim, casi siempre está preinstalado. Es rápido. Abre un archivo, realiza una edición rápida y luego sale. Puede trabajar con la configuración básica si está en la máquina de otra persona. No es tan editable, pero sigue siendo mucho mejor que la mayoría de los editores de texto. Reconoce que la mayor parte del tiempo que está leyendo / editando no escribe y hace que esa parte sea más rápida. No sufres de emacs pinkie . No es tan exasperante. Es más fácil de aprender.

A pesar de que uso Emacs todo el día todos los días (y me encanta) a menos que tenga la intención de pasar mucho tiempo en el programa que elija, elegiría Vim


Empuje:

  • mejor como editor simple (se requieren menos claves para tareas simples)
  • Comunidad de scripting más activa - lenguaje interno: vimscript
  • Un repositorio central de scripts, complementos, esquemas de color, ...
  • También extensible en pitón, rubí.
  • se puede hacer portátil (emacs tiene algunos problemas con eso)

Emacs:

  • no modal por defecto (la mayoría de los editores de hoy han adoptado este enfoque). Aunque hay evil-mode que emula el comportamiento vim.
  • lenguaje más poderoso para extenderlo (elisp es un lenguaje completo, y en emacs prácticamente puedes redefinir todo; mientras que en vim no puedes redefinir las funciones integradas del editor. Por otro lado, vimscript es relativamente similar a los lenguajes dinámicos de hoy en día mientras que elisp no se parece en nada a nada)
  • mas extensible
  • Excelente soporte para herramientas GNU (el grupo de ellas)

Personalmente, prefiero vim: es pequeño, hace lo que se supone que debe hacer, y cuando deseo un IDE completo, abro VS. El enfoque de Emacs de ser un editor que quiere ser un IDE (o debería decir, un sistema operativo), pero no está del todo, es IMHO, desactualizado. En los viejos tiempos, tener un cliente de correo electrónico, un cliente ftp, tetris, ... todo lo que en un paquete (emacs) tenía sentido ... hoy en día, ya no lo es.

Sin embargo, ambos son un tema de discusiones religiosas entre el programador y los usuarios de la comunidad de superusuarios, y en ese sentido, ambos son excelentes para iniciar guerras de fuego si se ponen en contacto (en la misma oración / pregunta).


Beneficios de Emacs

  • Emacs tiene una interfaz no modal (por defecto) y una modal (por ejemplo, puede emular vim y vi a través de Evil, Viper o Vimpulse).

  • Uno de los programas informáticos más portados. Se ejecuta en modo de texto y bajo interfaces gráficas de usuario en una amplia variedad de sistemas operativos, incluidos la mayoría de los sistemas similares a Unix (Linux, varios BSD, Solaris, AIX, IRIX, macOSetc.), MS-DOS, Microsoft Windows, AmigaOS, y OpenVMS. Los sistemas Unix, tanto gratuitos como de propiedad, frecuentemente proporcionan Emacs junto con el sistema operativo.

  • La arquitectura del servidor de Emacs permite que varios clientes se conecten a la misma instancia de Emacs y compartan la lista de búferes, el anillo de cierre, el historial de deshacer y otros estados.

  • Sistema de ayuda en línea generalizado con combinaciones de teclas, funciones y comandos documentados sobre la marcha.

  • Variante extensible y personalizable del lenguaje de programación Lisp (Emacs Lisp), con características que incluyen:

  • Un gestor de archivos potente y extensible (dired), un depurador integrado y un gran conjunto de herramientas de desarrollo y otras.

  • Hacer que cada comando sea una función de Emacs Lisp habilita los comandos para DWIM (Do What I Mean) al responder programáticamente a las acciones pasadas y al estado del documento. Por ejemplo, un comando para cambiar o dividir la ventana podría cambiar a otra ventana si existe, o crear una si es necesario. Esto reduce el número de pulsaciones de teclas y comandos que un usuario debe recordar.

  • "Un sistema operativo dentro de un sistema operativo". Emacs Lisp permite que Emacs se programe mucho más allá de las funciones de edición. Incluso una instalación básica contiene varias docenas de aplicaciones, incluidos dos navegadores web, lectores de noticias, varios agentes de correo, cuatro clientes IRC, una versión de ELIZA y una variedad de juegos. Todas estas aplicaciones están disponibles en cualquier lugar donde se ejecute Emacs, con la misma interfaz de usuario y funcionalidad. A partir de la versión 24, Emacs incluye un administrador de paquetes, lo que facilita la instalación de aplicaciones adicionales, incluidos navegadores web alternativos, EMMS (Sistema multimedia de Emacs) y más. También están disponibles numerosos paquetes para programación, incluidos algunos dirigidos a combinaciones específicas de idiomas / bibliotecas o estilos de codificación.

Beneficios de los editores tipo vi

  • Los comandos de edición son compostables
  • Vi tiene una interfaz modal (que Emacs puede emular)
  • Históricamente, vi carga más rápido que Emacs.
  • Aunque está profundamente asociado con la tradición de UNIX, se ejecuta en todos los sistemas que pueden implementar la biblioteca estándar de C, incluidos UNIX, Linux, AmigaOS, DOS, Windows, Mac, BeOS, OpenVMS, IRIX, AIX, HP-UX, BSD y compatible con POSIX sistemas
  • Extensible y personalizable a través de secuencias de comandos Vim o API para lenguajes interpretados como Python, Ruby, Perl y Lua
  • Ubicuo. Esencialmente, todos los sistemas Unix y similares vienen con vi (o una variante) incorporados. Vi (y ex, pero no vim) se especifica en el estándar POSIX.
  • Los entornos de rescate de sistemas, los sistemas integrados (especialmente aquellos con busybox) y otros entornos restringidos a menudo incluyen vi, pero no emacs.

Fuente: https://en.wikipedia.org/wiki/Editor_war


vim es un editor útil, simple de escribir vim filenamepara abrir, editar, guardar y cerrar el archivo.

emacs es un "sistema operativo" que pretende ser un editor, puede evalcodificar para cambiar su comportamiento y extenderlo a su gusto. A modepara recibir / enviar correo electrónico en emacs es como un software de correo electrónico en el sistema operativo.

Cuando hago una edición simple, por ejemplo, modifico un archivo de configuración, uso vim .

De lo contrario, nunca me voy de emacs .


Si se mueve mucho de un sitio a otro o su trabajo implica iniciar sesión en sistemas de producción, entonces vim es el camino a seguir.

Todas las máquinas * nix tendrán vi instalado de forma predeterminada.

La mayoría de los sysdamins prefieren ksh como shell predeterminado. ksh utiliza las pulsaciones de comando vi (o emacs) para buscar en el historial y editar la línea de comando.

Si no conoce bien vi, tiene una gran desventaja cuando inicia sesión en un cuadro de Unix con una configuración estándar.

Solo por esta razón, recomendaría vim como su editor habitual todos los días. He visto a los fanáticos de Emacs arrancarse al intentar modificar los archivos de configuración en un servidor Unix.


Soy un fan de Emacs pero animo a otros desarrolladores a aprender VI porque:

  1. Puedes usar VI para editar los archivos make de emacs.
  2. VI incluye comandos ed y cada usuario de UNIX debe saber ed y sed.

He notado que varios comentarios sobre VIM comienzan más rápido que emacs. Si realmente te importa eso, ejecuta emacs en modo servidor y los alias ''emacs'' a ''emacsclient''. El cliente es súper rápido, ya que todo lo que hace es tocar el servidor en el hombro y decirle qué archivo desea editar. En MacOSX, emacsclient es solo 33K mientras que emacs es 287M.

No estoy seguro de que nada de esto sea necesario en el hardware moderno. En mi MacBook Pro (2013 Retina), emacs se carga casi instantáneamente cuando lo ejecuto desde el shell. No detecto ninguna pausa en absoluto. Cuando ejecuto Emacs.app (la versión GUI) puede tardar 3 segundos.

La mayoría de las quejas que escucho sobre emacs parecen provenir de personas mal informadas sobre emacs. Habiendo usado tanto vi como emacs desde 1982, definitivamente recuerdo un momento en que emacs cargó mucho más lento que vi y usé la mayor parte de la memoria física en mis primeras cajas UNIX, pero ese ya no es el caso y no lo ha sido durante al menos 15 20 años.

Una queja que voy a conceder es "Emacs Pinkie". Esto nunca me molestó en absoluto cuando era más joven. Ahora que tengo 58 años, mi meñique se siente un poco adolorida por el acceso repetido a la tecla Control para la grabación de emacs. Esto es especialmente cierto en el teclado de la MacBook Pro donde el Control se mueve una posición a la derecha para dejar espacio para la tecla "fn". No es tan molesto cuando Control es la tecla inferior izquierda.


Creo que la principal diferencia es el objetivo de diseño. VIM es para UNIX como editor de trabajo. Emacs es para hackers GNU y lisp, por lo que tiene algún elemento de diseño mixto.

Uso vim en mi estación de trabajo, mientras que también amo a emacs.


Ejecución de pulsaciones de teclas ::: la edición vi conserva cada permutación de las teclas tecleadas. Esto crea una ruta en el árbol de decisiones que identifica inequívocamente cualquier comando, mientras que los comandos de Emacs son una combinación de teclas escritas ejecutadas de inmediato, lo que deja al usuario con la opción de utilizar un comando o no.

Uso y personalización de la memoria ::: vi es un programa más pequeño y más rápido, con una capacidad de personalización más limitada, mientras que Emacs tarda más en iniciarse y requiere más memoria. Sin embargo, es altamente personalizable e incluye una gran cantidad de funciones, ya que es esencialmente un entorno de ejecución para un programa Lisp diseñado para la edición de texto.


Emacs es realmente un programa para hacer todo , y vi (m) es solo un editor. Si está editando texto, ambos están bien, pero yo prefiero emacs, simplemente porque tengo que cambiar uno de la fila de inicio para moverme, y seguir escribiendo cosas incorrectas en el modo de comando. Si no tiene ese problema, vi (m) puede ser el editor para usted.


En primer lugar Vi (realización original) no utilizado hoy. Eso que dices es una derivación de Vim.

Para ampliar la funcionalidad de Vim, debe recompilar Vim, Emacs no.

Emacs tiene Vim en sí mismo (modo viper).

Emacs generalmente necesita una instalación manual, Vim normalmente preinstalado en todos los sistemas operativos tipo Unix (pero si tiene acceso ssh al modo de tramp ganador, Vim :).

Si prueba Vim, odia a Emacs, empiece por Emacs primero.

También lea http://www.dina.dk/~abraham/religion/vi-tutorial.html (enlace hacia abajo, así que use this )

Búsqueda de respuestas en hxxp: //en.wikipedia.org/wiki/Editor_war


En tu pregunta, ¡no has mencionado que quieres que se programe en Lisp! Pero como ha estado comentando sus respuestas, he entendido que realmente desea una interfaz de programación LISP.

Para esa tarea precisa, simplemente olvídate de Vi. ¡La integración de Emacs con LISP es maravillosa! Usted debe utilizar SLIME. Luego, tendrá una maravillosa integración con el REPL, pudiendo evalfunciones, buffers o archivos directamente en un intérprete en ejecución en un búfer de Emacs y mucho más ...


Es como manzanas y naranjas. Ambos tienen diferente diseño y filosofía. Vim es un editor de texto, mientras que Emacs es un intérprete Lisp que realiza la edición de texto.

Uso Vim porque es rápido, rápido y realmente bueno para manipular textos. Tiene un enlace de teclas natural composable que puede hacer que sus tareas de desarrollo sean realmente armónicas. Vim se basa en la simple * nix philiosphy de hacer una cosa realmente bien, es decir, la manipulación de texto.

Extender Vim usando bash / zsh y tmux es generalmente fácil y te permite aprender muchas cosas. En mi humilde opinión esta es una buena curva de aprendizaje. La clave es aprender cómo integrar estas cosas para obtener una aplicación que funcione más grande. Con Vim, necesitarás aprender integración porque no se integra naturalmente a menos que le digas cómo hacerlo. Otra extensión que vale la pena que uso es Tig. Es una interfaz Git basada en ncurses. Solo tengo un enlace que abre Tig en silencio y luego hago todas las cosas de Git allí.

Depende del usuario final decidir qué funciona mejor. Que Emacs y Vim hayan resistido la prueba del tiempo es una prueba de su valía. Eventualmente, un buen programador no necesita más que un bolígrafo y un papel para ser creativo. Los buenos algoritmos no necesitan editores que los respalden. Así que pruébalos y ve qué te hace más productivo. ¡Y aprenda los patrones de diseño de estos dos softwares ya que hay mucho que aprender y descubrir!