Emacs-as-OS: ¿obsoleto? [cerrado]

22

En un intento por alcanzar al menos el estado de principiante con un editor tan legendario, he estado codificando en Emacs durante los últimos dos meses. Intento mantener un corazón abierto, pero me encuentro continuamente en desacuerdo con una elección de diseño central: que Emacs permite que sus usuarios nunca tengan que irse. En un mundo de 2010, creo que todas las funciones secundarias de Emacs están irremediablemente detrás del software dedicado:

  • Nunca usaría su navegador incorporado; Chrome tiene años por delante.
  • Nunca usaría su característica directa; Path Finder (Mac OS X) se adapta a mis necesidades.
  • Nunca usaría su correo electrónico incorporado; La interfaz web de Gmail tiene características más relevantes como Priority Inbox.
  • Etc.

Claro, ocasionalmente podría utilizar Emacs para usar expresiones regulares, etc. para una de las tareas anteriores, pero aparte de las expresiones regulares, realmente no veo ninguna razón para tocar esas características secundarias. Soy un novato por completo, pero tengo el presentimiento de que Emacs-as-an-OS es obsoleto.

Expertos de Emacs, ¿creen que la elección de Emacs de ser un entorno integral es la elección correcta para 2010 y el futuro? ¿Existen características periféricas particulares que todavía están en su momento o por delante en comparación con las alternativas?

AlcubierreDrive
fuente
99
¿Es realmente una pregunta? Parece que ya lo has decidido.
Larry Coleman
55
@Emacs es realmente bueno para el desarrollo de gcc + gdb en un entorno Unix. También es bueno para escribir LaTeX.
20
Es por eso que Emacs tiene un psiquiatra incorporado.
Tim Post
3
@Tim, Mx tetris es mucho más divertido.
2
Te entiendo totalmente ... He usado vi durante años, y me tomé un tiempo para aprender Emacs ... y he llegado a la conclusión de que ambos simplemente no satisfacen mis necesidades ... para la programación, prefiero un IDE moderno (Eclipse) y para una simple edición de texto / scripting, nano está bien.
Oliver Weiler

Respuestas:

14

He estado usando emacs durante los últimos 10 años (desde y hasta), y solo puedo decir que tienes toda la razón . En aquellos días, usaba gnus y el navegador w3, pero claramente ya no están a la altura en comparación con los programas dedicados. Pero, obviamente, no puede ejecutar Chrome en modo de texto, así que aquí es donde gana emacs. E incluso allí, prefiero usar lynx / elinks o mutt para eso.

Emacs-the-programmers-editor también ha perdido su toque. La edición de texto está bien, pero cuando escribo código , me encuentro deseando funciones como: definición de goto, autocompletado, refactorización, sugerencias de sintaxis, documentos de parámetros, etc., etc. (piense en Eclipse). He intentado un par de modos emacs pero nunca funcionó correctamente. Y no, no quiero aprender elisp, gracias.

Además, los emacs realmente no entienden la semántica del código. Esto es dolorosamente obvio cuando se codifica en un archivo que contiene varios idiomas como html con javascript y php o algo así. Simplemente se rompe. Para eso, prefiero usar cualquier otro editor (notepad ++ o lo que sea) que hace el trabajo mucho mejor.

Martin Wickman
fuente
55
De las cosas que enumera, Emacs en realidad tiene "definición de goto" (usando etags), "autocompletado" ( autocomplete.elcreo), sugerencias de sintaxis / documentación de parámetros (idioma por idioma). El único que menciona que no es compatible con AFAIK es la refactorización automática, que no es necesaria ni útil para todos los idiomas. Sin embargo, los modos múltiples son atroces; existe y es compatible con PHP y lenguajes mixtos, pero es malo (como muy lento a menos que esté en mi escritorio). También te daré el mismo consejo que le doy a cualquier compañero de trabajo: si no quieres aprender Lisp, no uses Emacs, no hará nada por ti.
Inaimathi
8
Convenido; Emacs no es un sistema operativo. Mi objeción es que "Emacs-the-programmers-editor también ha perdido su toque". Este es un argumento particularmente irracional dado que te niegas a aprender Elisp, ya que la mayor parte del beneficio de Emacs-the-programmers-editor proviene de la aplicación de personalizaciones. No me opondría a "No uso Emacs porque no tengo ganas de aprender Lisp", pero haces que parezca que tu ignorancia voluntaria de la herramienta afecta su aptitud. Esto está a la par de mí diciendo "Eclipse apesta porque no tiene soporte para PHP. Y no tengo ganas de aprender cómo instalar complementos, gracias".
Inaimathi
1
@Inaimathi No tienes que aprender elisp (o cualquier idioma) para poder usar eclipse correctamente. La instalación de complementos tampoco lo requiere.
Martin Wickman
2
@ Martin: no tiene soporte PHP integrado (o no lo tenía cuando lo usé); necesitas instalar un complemento para eso. La declaración citada arriba es equivalente a "[Editor] es una mierda porque no tiene [característica que realmente tiene, pero eso tiene que estar habilitado], pero realmente no tengo ganas de aprender [algo que debes hacer para poder para habilitarlo] ", y mi punto fue que este es un argumento irrazonable.
Inaimathi
3
@Inaimathi: En lo que respecta a la refactorización, estaba buscando un programa de refactorización automatizado de C ++, y uno de los pocos que encontré estaba en elisp. Si dice "emacs no es compatible con X", es muy probable que se equivoque.
David Thornley
19

Elija la herramienta adecuada para el trabajo.

Intente ejecutar Chrome o Path Finder a través de una conexión ssh: aquí necesitará herramientas alternativas y Emacs fue diseñado para ejecutarse en un terminal.


fuente
Buen punto sobre ssh.
AlcubierreDrive
3
x11 reenvío?
TheLQ
77
¿Cuántas personas usan realmente un navegador web a través de una conexión ssh?
compman
1
@compman, sí. Puede ser extremadamente útil para descargar archivos de sitios web.
1
OS X tiene VNC, solo haga un túnel de la conexión VNC a través de SSH, y no tiene que preocuparse de que OS X no use X11.
Lie Ryan
8

Ni siquiera uso tanto el terapeuta incorporado, pero sí uso Emacs y me gusta, no por su naturaleza integral sino porque es infinitamente configurable y potente como editor de texto. También sé muchas de las pulsaciones de teclas para ello. La edición exitosa del texto tiene que ver con las pulsaciones de teclas.

Si desea desarrollar su productividad con él, Steve Yegge tiene algunos buenos consejos.

glenatron
fuente
Estoy totalmente en desacuerdo con el enfoque de Steves de volver a unir toneladas de claves para que Emacs se comporte. Aprenda las combinaciones de teclas estándar y use sus .emacs para modificar su comportamiento.
Su punto es principalmente ergonómico: no está diciendo que haya un problema con los enlaces estándar como enlaces, está diciendo que hay un problema con la ubicación de las teclas en el teclado y que si desea que sean fáciles de usar , necesita encontrar teclas para ese propósito que no necesiten que enrede sus pequeños dedos en las esquinas más alejadas del teclado. Puedo ver el sentido en eso, pero te restringe si cambias de máquina con frecuencia ya que necesitas otro conjunto de recuerdos musculares o si pasas años reconfigurando cada máquina que utilizas.
glenatron
5

Emacs nunca fue destinado al mercado de masas. Está diseñado para un uso eficiente por personas que se han tomado el tiempo de aprender cómo funciona. Dicho esto, una talla no sirve para todos, por lo que es posible que no le guste emacs incluso después de aprender más sobre ella.

EDITAR: Mis dos características favoritas de emacs además de editar texto son el modo shell y gnus. Después de frustrarme con Google Groups debido a todo el spam, me inscribí en Eternal September y aprendí a usar gnus. Es mucho más rápido navegar a través de los mensajes, y solo se publican ocasionalmente mensajes de spam, y deshacerse de ellos es cuestión de presionar una tecla. El modo Shell es especialmente útil para mí en el trabajo porque copiar / pegar es más eficiente que en un indicador de DOS.

Larry Coleman
fuente
No estoy descartando el editor de texto como obsoleto; Estoy de acuerdo, es muy eficiente una vez que te acostumbras. Mi pregunta es sobre el mérito de la elección del diseño de que debería poder hacer cualquier cosa sin abandonar Emacs. ¿Existen características periféricas específicas que siguen siendo geniales, o tiene una idea de la historia de las características periféricas que alguna vez fueron excelentes y que ahora se han superado?
AlcubierreDrive
1
Edité la sección de descartar como obsoleta después de leer sus comentarios. No uso emacs para todo, pero realmente me gusta el modo shell y gnus.
Larry Coleman
¡Dulce! Agregué una nueva segunda mitad a mi pregunta, en respuesta a sus comentarios. Su comentario lo responde así +1
AlcubierreDrive
1
También poder hacer todo en emacs tenía mucho más sentido en 1994, cuando las computadoras eran mucho más lentas que ahora. Uso dired de vez en cuando, si ya estoy en emacs y uso mucho el shell. Poder hacer muchas cosas en mi editor o al menos sin tener que mover el mouse es una victoria para mí. Es posible que tenga gustos diferentes (esto es realmente una cuestión de gustos en algún nivel)
Zachary K
2

Siempre me he acercado a Emacs como una plataforma en lugar de una solución lista para usar. Hay muchos paquetes que duplican la funcionalidad o el propósito y depende de usted decidir si satisfacen o no sus necesidades.

Esa es también la razón por la cual muchas cosas están desactualizadas. La mayoría de las personas (que he conocido de todos modos) que usan Emacs no lo usan para leer correos electrónicos o navegar por la web. Sin embargo, me cuesta encontrar otro editor que tenga

  • como sofisticadas capacidades de edición remota
  • creación y edición de macros en línea de forma libre
  • profundidad y amplitud de extensiones / paquetes disponibles

Ha sido mi editor de elección durante más de una década para el desarrollo de software y el procesamiento de textos.

Lo mejor de todo es que no tengo que tocar mi mouse cuando uso Emacs.

dietbuddha
fuente
2

Emacs podría ser un sistema operativo para usted si está dispuesto a aprender Lisp y escribir sus propias características que se adapten a sus necesidades.

Pero hoy en día puedes encontrar todo lo que necesitas en otras herramientas hechas por otras personas geniales. Esas personas hicieron esas herramientas porque sentían que las necesitaban, al igual que usted, que las usará. Dado que muchos de ellos son de código abierto, existe una comunidad que los hará mejores y mejores, con todas las funcionalidades que necesita.

Intentar mejorar Emacs es difícil porque tienes que aprender Lisp. Incluso los complementos existentes son cada vez más antiguos. Tomemos modos de lenguaje, por ejemplo, los lenguajes comunes como JS y PHP apenas son compatibles incluso para resaltar la sintaxis. El mejor modo que podría encontrar para ellos simplemente no es suficiente.

Emacs es una gran herramienta en las manos correctas y para las tareas correctas. Pero hay mejores herramientas para tareas específicas, y definitivamente debería usarlas en su lugar.

Jose Faeti
fuente
1

No deseo comenzar una guerra santa, en realidad, hubo un momento en que usé emacs cada segundo día (un día vim, un día emacs). No hay nada malo con emacs, de hecho es una gran herramienta. Genial, gran herramienta.

Pero como un verdadero vim'er, siempre estaba un poco frustrado con el hecho de que muchos emacsers están tratando de usar emacs literalmente en todas partes, literalmente para todas las tareas.

Leer correos electrónicos, consultar bases de datos, leer archivos PDF, esas son las tareas más inocentes que he visto que están "emacsificadas".

Entonces, en cuanto a mí, hay áreas principales de árboles para usar emacs:

  1. Edición de texto. Y es una súper herramienta alucinante. Créame, después de usar vim o emacs durante mucho tiempo, extrañará por completo sus características en los IDE más avanzados.

  2. IDE. Bueno, se podría hacer. Además, de alguna manera podría competir con los modos IDE. Pero el hecho es que para que sea realmente competitivo, debe invertir mucho. Deberías intentar ensamblar muchos guiones diferentes. Incluso debería escribir sus propios fragmentos de código. No sería sincero.

  3. Otras tareas, la mayoría exóticas o incluso esotéricas. Jugando tetris y demás. Mejor no.

shabunc
fuente
1
Como usuario de emacs y vi desde hace mucho tiempo (más de 20 años de experiencia en ambos, también aproximadamente 1 año de uso de ed como mi editor principal), encuentro que emacs es casi supremo para el ocasional "Tengo código repetitivo que aparece , deje que el editor lo genere automáticamente "(en lugar de, por ejemplo, escribir otro fragmento de código, luego compilarlo y ejecutarlo para generar el código).
Vatine
0

En algún lugar de mi colección de cosas, estoy seguro de que mi esposa desearía simplemente tirarlas, tengo una copia de Emacs en la cinta QIC-40. Pagué $ 50 para obtenerlo.

No pude # @% # $ # $% @ ^ #% # soportarlo entonces, no puedo soportarlo ahora. No digo que no sea un gran editor para algunos, pero para mí ... simplemente se interpone en el camino más que nada. Su inicio original fue trabajar alrededor de las llaves de las botellas de coca cola , y lo hizo muy bien.

Si ejecuta un programa, cualquier programa, lo hace con la esperanza de que aumente (o al menos no obstaculice) su productividad. Si no te funciona, no lo uses.

Confía en mí, no eres el problema.

Tim Post
fuente
2
"¡Este es un artefacto importante, y pertenece a un museo!"
1
"Si no funciona para usted, no lo use" es una apelación a la subjetividad, por lo tanto, "usted no es el problema" es una contradicción.
Jon Purdy