705 votos

Diferencias entre Emacs y Vim

Sin entrar en un argumento religioso acerca de por qué uno es mejor que el otro, lo que son las prácticas diferencias entre Emacs y Vim? Yo estoy buscando para aprender uno o el otro, pero me doy cuenta que la curva de aprendizaje para cada uno es alto y yo no podemos decidir. Nunca he usado un editor de este tipo (yo siempre he usado IDEs), así que cualquier cosa que ayuda a un novato es un plus.


Antes de que la llama de la guerra comienza: no estoy preguntando cual es mejor, yo estoy pidiendo a las diferencias entre los dos. Me gustaría un objetivo de comparación. Gracias.

502voto

James Brooks Puntos 1186

(el texto a continuación es mi opinión, no debe ser tomado como un hecho o un insulto)

Con Emacs se espera que usted tenga abierta 24/7 y viven dentro del programa, casi todo lo que haces se puede hacer desde allí. Escribir sus propias extensiones, lo uso para tomar notas, la organización, los juegos, la programación de la shell, el acceso, el acceso a archivos, escuchar música, navegar en la web. Lleva semanas y semanas hasta que usted será feliz con él y, a continuación, usted va a aprender cosas nuevas todo el tiempo. Usted se molesta cuando no se tiene acceso a ella y cambiar constantemente su configuración. Usted no será capaz de utilizar otros pueblos emacs versiones fácilmente y no acaba de ser instalado. Utiliza Lisp, que es genial. Usted puede hacer esto en cualquier cosa que usted desea que sea. (nada en absoluto)

Con vim, casi siempre es pre-instalado. Es rápido. Abre un archivo de hacer una edición rápida y, a continuación, dejar de fumar. Usted puede trabajar con la configuración básica si está en algún otro equipo. No es tan modificable; pero aún así es mucho mejor que la mayoría de editores de texto. Reconoce que la mayoría de las veces son de lectura/edición no escribir y hace que la porción más rápido. Que no sufren de meñique de emacs. No es tan exasperante. Es más fácil aprender.

A pesar de que yo uso Emacs todo el día todos los días (y el amor) a menos que usted tiene la intención de gastar un montón de tiempo en el programa que elegir me gustaría recoger vim

139voto

Svend Puntos 3291

Vim no es un shell. Y no se comunican bien con los subprocesos. Esto es casi de diseño, donde como en Emacs, estos elementos se incluyen por diseño. Esto significa que algunas cosas, como la incorporación de un depurador o un intepreter (produciendo una especie de IDE), es difícil en Vim.

También, Emacs accesos directos son principalmente se accede a través de los modificadores, y obviamente el Vim interfaz es famoso modal, que da acceso a una absurda cantidad de teclas directas para la manipulación.

Emacs solía ser el único editor de los dos que se proagrammable, y mientras Vim tiene un montón de extraños niveles a la programación, con la adición de Python y Ruby enlaces (y más, se me olvida), Vim también es programable en la mayoría de formas que te importa.

Yo uso Vim, y estoy bastante contento con él.

112voto

ldigas Puntos 19740

Vim:

  • mejor como un editor
  • más activo de secuencias de comandos internos en la comunidad idioma: vimscript
  • un repositorio central de scripts, plugins, esquemas de color, ...
  • también extensible en python, ruby
  • pueden ser hechas portátiles (emacs tiene algunos problemas con eso)

Emacs:

  • no modal (la mayoría de redactores de hoy han adoptado este enfoque)
  • más poderoso lenguaje para ampliar (elisp es un completo soplado de la lengua, y en emacs que prácticamente se puede redefinir todo; mientras que en vim que no se puede redefinir construir en las funciones del editor. En el lado negativo, vimscript es relativamente similar al de hoy, los lenguajes dinámicos, mientras que elisp no parecerse a los de casi cualquier cosa)
  • más extensible
  • excelente soporte para herramientas de GNU (el montón de ellos)

Personalmente, prefiero la de vim - es pequeño, ¿ qué se supone que debe hacer, y cuando quiero que un completo IDE puedo abrir VS. Emacs del enfoque de ser un editor que quiere ser un IDE (o debería decir, un sistema operativo), pero no es bastante, es mi humilde opinión, es obsoleto. En los viejos días de tener un cliente de correo electrónico, cliente ftp, tetris, ... todo eso en un solo paquete (emacs) hizo algunas sentido ... hoy en día, no más.

Ambos son, sin embargo, un tema de debates religiosos entre el programador y el superusuario usuarios de la comunidad, y en ese sentido, ambos son excelentes para iniciar guerras de la llama si se ponen en contacto (en la misma frase / pregunta).

54voto

Senthil Kumaran Puntos 14934

Si usted está buscando para un análisis objetivo, tanto de los editores, mira a sus orígenes y la filosofía detrás de sus respectivos diseños. Creo, que a uno le conviene mejor y aprender (y aprender y aprender, porque se necesita tiempo antes de que se descubra su verdadera utilidad como en contra de cualquier IDE). Una Introducción a la Pantalla de Edición con Vi fue escrito por Bill Joy y Mark Horton y explica por qué se elige modal diseño y la justificación de varias pulsaciones de teclas ( me ayuda a recordar que CTRL-W +W (cambiará a la siguiente *W*indow y será el mismo para CTRL W+ CTRL W, en caso de que se celebró la tecla CTRL para una mayor duración.

Aquí hay un enlace a Emacs línea de tiempo y tiene la referencia a Multics Emacs papel. Hereis RMS papel en Emacs, donde veo el estrés es un programables editor de texto (incluso de regreso en 1981 y antes).

No he leído el emacs de documentos, pero ha leído Bill Joy vi de papel un par de veces. Ambos son viejos, pero aún así obtendrá la filosofía y usted puede elegir el uso de la herramienta actual (vim 7.x o emacs 25?)

Edit: se me olvidó mencionar que hay que tener paciencia e imaginación para leer estos trabajos que lleva atrás en el tiempo mientras lo lee. Pero vale la pena.

38voto

Martin Beckett Puntos 60406

VI está siempre disponible y que se ejecutará en la mayoría de los lisiados, de modo de usuario único, roto gráficos, sin teclado, conexión lenta máquina, así que vale la pena saber cómo editar archivos en él sólo para tareas de sysadmin.

Emacs es un completo interfaz de usuario en un editor. La idea es que el fuego de Emacs al iniciar la máquina y no lo deje nunca. Es posible tener miles de sesiones de la actualidad.

Si el aprendizaje de las capacidades de Emacs vale la pena en comparación con el uso de un editor de GUI/IDE y el uso de algo como python/awk/etc para tareas adicionales.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X