¿Cuáles son algunas formas de ser más productivo con Emacs? [cerrado]

20

He usado bastante Emacs, y me siento cómodo con los comandos / atajos más básicos, pero sé que Emacs tiene mucho más que ofrecer que lo que estoy usando. ¿Cuáles son algunas de las características menos conocidas de emacs que me pueden ayudar a ser un programador más productivo?

GSto
fuente
8
@ Quien votó para cerrar: esto definitivamente no está fuera de tema ...
Chinmay Kanchi
1
Si esto está fuera de tema, supongo que el propósito principal de este sitio sería para preguntas del tipo "cuéntame tu historia favorita".
MIA
2
No veo cómo esto puede considerarse fuera de tema. Si preguntara esto en Stack Overflow, probablemente estaría cerrado allí como subjetivo. Entonces, si esto no cabe en ninguno de los sitios, ¿dónde se supone que debo hacer esa pregunta?
GSto
Programador productivo eh ..
Daniel Little
2
Estoy votando para cerrar esta pregunta como fuera de tema porque se trata de una herramienta de software. Sin embargo, es demasiado amplio y demasiado viejo para migrar a Stack Overflow.

Respuestas:

17

Aprende elisp.

  1. Le permite programar cualquier acceso directo que se le ocurra. Cada vez que te encuentras realizando un proceso de varios pasos para algo útil, haces una función y lo unes a un combo de teclas de acceso rápido.

  2. Le permite experimentar con programación funcional: aprender un nuevo paradigma es una buena manera de expandir sus horizontes.

AShelly
fuente
Además de tener cierto nivel de fluidez elisp, se abrirá un mundo de configurabilidad. Tan pronto como algo me molesta, trato de arreglarlo. Además, yasnippet permite fragmentos programables que pueden ahorrar toneladas de tipeo (como alterar el patrón insertado si está en un encabezado o archivo de implementación, y alrededor de un millón de otros trucos).
julien
9

Echa un vistazo a esta página SO, tiene suficientes consejos para aumentar tu productividad de Emacs al menos 2 veces:

http://stackoverflow.com/questions/60367?tab=votes&page=1

Además, debe usar absolutamente el modo Org si es un usuario de Emacs:

Org: tu vida en texto sin formato

EDITAR: Desafortunadamente, parece que los moderadores de SO no solo cerraron la primera pregunta / enlace, sino que también lo eliminaron, destruyendo el conocimiento y la sabiduría en el proceso. (¡Quememos este libro, no sabemos a dónde pertenece!) Por ahora, el único enlace alternativo útil que he encontrado es el hilo HN que discute el hilo SO:

La característica más útil de Emacs - Noticias de Hacker

limist
fuente
SO link ya no funciona
funkybro
Gracias por el heads-up, metí una alternativa, no es tan buena pero tiene algunos consejos.
limist
1
Todavía puede encontrar la publicación eliminada en www.stackprinter.com, consulte: stackprinter.com/…
barracel
@barracel Gracias! Un programa / servicio nos ha salvado de la tontería de los moderadores.
limist
4

La parte superior de mi cabeza:

M-x compile     (now do C-x ` to cycle through errors)
M-x gdb
M-x grep-find
M-x find-tag    (aka M-.  and C-u M-. is "next" tag)
inferior-processes (if you use an interpreted language, 
                    you can eval directly from Emacs)
C-x v v         ([version control][1])

En general, el capítulo Compilación y prueba de programas de las páginas de información es una buena lectura.

Trey Jackson
fuente
4

El gran Steve Yegge ha escrito una muy buena publicación de blog 10 Formas específicas para mejorar su productividad con Emacs . Incluye trucos y hábitos como

  • configuración del teclado (Intercambiar Caps-Locky Controlvolver a vincular M-X)
  • Eliminar palabras con backspace(si es lo suficientemente rápido como para escribir, deshacerse de la palabra completa y volver a escribirla es más conveniente que presionar continuamente backspacehasta que se borre su error tipográfico)
  • Navegación por búsqueda incremental
  • Usando buffers temporales y aprende a navegar buffers eficientemente
  • Deshacerse de la navegación con el mouse, los menús y otras cosas GUI
  • Aprendiendo a usar el sistema de ayuda
  • Aprendiendo el poder de las expresiones regulares

También enumera algunos modos útiles de emacs y menciona muchos otros trucos que hacen que las personas esperen con anticipación las futuras actualizaciones de la publicación del blog.

FooF
fuente
2

Sé que preguntaste específicamente sobre métodos y comandos, pero sugeriría el siguiente enfoque general:

  1. Lea un libro sobre Emacs: hay varios, incluido el Manual de Emacs y Learning Gnu Emacs de Cameron Et al. Sé que "leer el manual" parece trivial y condescendiente, pero lo que realmente estoy diciendo es que cada vez que leo el manual, descubro algo realmente genial que ni siquiera pensé. Yo siempre siento como si no hubiera pasado el tiempo suficiente de leer el manual.
  2. Ingrese a la comunidad de Emacs: Emacswiki es un gran lugar para comunicarse con otros usuarios de Emacs y conocer paquetes geniales. También unirse a help-gnu-emacs puede ser bueno, porque las personas pedirán ayuda sobre las funciones que están utilizando, y por proxy puede averiguar sobre esas funciones. He encontrado muchas características interesantes al ver a alguien pidiendo ayuda y luego leyendo sobre esto en el manual.
  3. Aprenda algo de Lisp : cuando al menos pueda hablar sobre Emacs Lisp, estará en un lugar mucho mejor para conocer las nuevas funciones.
  4. Usa Emacs todo el tiempo. Utilizo Emacs para todo excepto la navegación web (que también puede hacer), y por lo tanto siempre tengo la oportunidad de aprender cómo hacer algo nuevo mejor con alguna característica proporcionada por Emacs. Uso Emacs para correo , programación y planificación , control de versiones , documentos de LaTeX y programación. Casi todo mi tiempo lo paso en Emacs o Firefox.
Joel J. Adamson
fuente
2

Modificaciones específicas del flujo de trabajo personalizado

Cuando comencé a hacer Test Driven Development, hice una función elisp que me permitía saltar entre el archivo con las pruebas unitarias y el archivo con el código de producción de una manera fácil.

También comencé a usar yasnippets para algunas construcciones de lenguaje clave, reduciendo el tiempo que me lleva escribir lo que escribo cientos de veces al día.

Por último, si bien no menos importante; He creado luddite modo , simplemente se apaga el menú / barras de herramientas, barras de desplazamiento y flecos, me obliga a utilizar los atajos de teclado tanto como sea posible.

klang
fuente
0

Dos comandos que suelo usar de vez en cuando son string-rectangley kill-rectangle. El primero le permite insertar texto repetido en una columna particular en varias filas; este último hace lo contrario.

gablin
fuente