2009-02-02 9 views
59

Estoy a punto de aprender Emacs, he asistido al tutorial y tomado prestado el libro de O'Reilly en Emacs. Pero la pregunta es: ¿cómo se aprende un buen flujo de trabajo de Emacs ? Supongo que no usa Emacs como usaría, por ejemplo, Vim.¿Cómo se aprende Emacs adecuado?

Esta pregunta parece revelant a la mía: - Where can I find a video of a professional using Emacs?

+5

Mucha práctica. – ajma

+0

ajma: si es el camino, estoy listo para tomarlo, solo tenía miedo de usar vim (es decir, emacs) como bloc de notas, sin usar ninguna de sus funciones y no entendiendo conceptos como búferes –

+0

Respuestas a mi pregunta. . http://stackoverflow.com/questions/271063/suggested-initial-emacs-config ..puede ser útil también – dbr

Respuesta

0

Ese es el poder de Emacs, que lo utilice a su gusto. Solo tiene que configurarlo antes para su gusto.

5

No necesita aprender el flujo de trabajo de emacs. Una vez que complete el tutorial y domine los elementos esenciales, tendrá que adoptar cierto grado de monogamia y no usar nada más que Emacs. Finalmente, pensarás en la funcionalidad que realmente deseaste existía; la mayoría de las veces, alguien más también lo tendrá y la solución está a solo una búsqueda de distancia. Con el tiempo, simplemente no puede dejar de aprender y, finalmente, retomará lo suficiente como para desarrollar su propio flujo de trabajo personal.

Si está buscando acelerar el proceso, el wiki de Emacs tiene una variedad de consejos, pero la mejor manera es simplemente hacer cosas con Emacs.

2

Para ser sincero, todo lo que hago es aprender las combinaciones de teclas que necesito. No uso emacs en todo su potencial, porque no necesito todo su potencial. Mi sugerencia es simplemente aprender lo que necesita y no preocuparse por lo que no necesita. Aprenda una nueva vinculación de clave todos los días, y en unos 300 años las conocerá todas;)

27

Una vez que haya dominado los conceptos básicos (apertura/cierre de archivos, navegación, edición básica) simplemente úselo. Como con muchas otras herramientas, la práctica hace la perfección ...

Sin embargo, dedicaría un tiempo a trabajar para mejorar la forma de usar el editor actualmente, pero como parte de tu flujo de trabajo normal en lugar de solo ir en una tangente y aprendiendo cosas por el bien de ella.

Encuentro algunos recursos útiles son el EmacsWiki y el Planet Emacsen blog. Utilizo ambos, principalmente usando Planet Emacsen para "inspiración" y luego deambulando por EmacsWiki y teniendo un arrastre allí para un tema específico. Descubrí que, a menos que tenga al menos una idea vaga de lo que está buscando, la información disponible lo va a inundar en vez de ser realmente útil.

Sin mencionar que hay algunos recursos muy útiles aquí en StackOverflow, por ejemplo this question here. Emacs es una herramienta muy poderosa que tiende a ser capaz de hacer mucho más de lo que una persona necesita, pero al final le permite escoger y elegir exactamente las partes que necesita.

+0

[esta pregunta aquí] (http://stackoverflow.com/questions/298065/which-are-the-gnu-emacs-modes-extensions-you-cant-live-without/299003#299003) parece haber sido ahora _ "eliminado del desbordamiento de pila por razones de moderación" _. El enlace original publicado en una pregunta que pregunta _ "¿Cuáles son las extensiones de modos de gnu emacs que no puedes vivir sin" _. Hice una búsqueda rápida en Google y saqué [this] (http://stackoverflow.com/questions/415035/must-have-emacs-extentions) para reemplazar el enlace roto. – Lsakurifaisu

1

Estoy usando los emacs desde los días anteriores de Amiga en todas las plataformas en las que estoy trabajando actualmente.

La mejor manera de usar emacs es la curiosidad. Todavía uso a menudo apropos (C-h a) y M-x (para un largo nombre de función en lugar de enlace de clave) para encontrar una funcionalidad.

un concepto clave para el "uso apropiado" Emacs es, para aprender el elisp muy fácil (un simple derivado de lisp) y escribir sus propios pequeños ayudantes (estilo propio comentario, subrayado, plantillas) y saber dónde buscar para cambiar los valores (tab-size, compilador, correo electrónico)

Y la tercera cosa: todo está en emacs: utilizo el dired (editor de directorios) para navegar a través de los archivos. Uso muchos búferes para todos los archivos de texto (con los modos adecuados para cada tipo de archivo (c, ruby, list, sql, latex, ...))) que se almacenan al salir de emacs y se recuperan al invocar. Comienzo el compilador desde emacs y uso la funcionalidad de saltar a error.

Las macros son una rutina diaria (recortar el código y cambiarlo en el camino).

me gusta la imagen-mode, que permite escribir hacia abajo con la sustitución, lo que hace que sea fácil volver a numerar bloques de constantes (buenos viejos #defines c))

Hay una montaña enorme que subir, pero si has llegado a la cima, puedes ver el mundo entero en tus pies y nunca más quieres perderte esta experiencia. Lo sé, hay muchos buenos editores de todo (i trabajar a mí mismo a través de Eclipse)

+0

Aunque, es posible que prefiera align-regexp y la edición de rectángulo al modo de imagen. – jrockway

9

Mi sugerencia es simplemente dejar de usar cualquier cosa que no sea Emacs, cuando encuentre un problema vea si puede resolverlo en Emacs, y luego retroceda (si no tiene el tiempo o simplemente no funciona) . En cuanto al flujo de trabajo, es prácticamente el mismo que normalmente trabajarías. es decir, para una sesión ide normal, abriría/editaría un archivo de forma normal, luego confirmaría (en C-x v v) de la forma habitual.

1

Como se dijo anteriormente, el mejor consejo es usar nada más que Emacs para el próximo año. Una vez que desarrollas la memoria de tus dedos, las cosas se vuelven mucho más fáciles.

7

Estoy de acuerdo con los otros carteles aquí, ¡solo tiene que usarlo! Así es como lo hice:

Una vez que obtuve los principios básicos (puedo obtener información sobre los buffers, abrir/guardar archivos, etc.), imprimí una tarjeta de referencia y la mantuve a mano. This is a good one. Revísalo solo para que sepas qué contiene, y cada vez que te encuentres haciendo algo repetidamente en la tarjeta, ¡comienza a usar el atajo! Antes de que te des cuenta habrás memorizado todo un arsenal de comandos. Pero recuerde, probablemente nadie use todo lo que los emacs pueden hacer.

Cuando finalmente te encuentras haciendo algo repetidamente que no tiene un atajo, es un buen momento para aprender las macros del teclado. Una vez que los obtenga, ¡encontrará usos para ellos en todas partes! A partir de ahí, es un salto corto para escribir elisp (si eres un programador).

Lo mejor de emacs es que no necesita un "flujo de trabajo emacs", ¡emacs funciona en todo su flujo de trabajo!

+0

El enlace a la tarjeta de referencia está muerto. –

+0

Se corrigió el enlace roto. Lo hice un enlace a una copia en mi propio sitio, ya que no puedo encontrar el sitio para el original en ninguna parte. Me encantaría saber si ha sido actualizado si alguien sabe. – Brad

+0

@Brad gracias por la gran tarjeta de referencia! – Paul

35

No puedo creer que nadie haya mencionado esto, pero leer las páginas de información incluidas con Emacs es una excelente forma de aprender sobre las características poco claras. Siempre que necesite un descanso de la codificación, marque M-x info y elija una página al azar para leer. La capacidad de tu emacs mejorará increíblemente rápido.

También es importante darse cuenta de cómo la auto-documentación de emacs lo ayuda a trabajar. Digamos, por ejemplo, que se está preguntando cómo puede escalar el tamaño de la fuente. En lugar de interrumpir tu flujo y preguntar aquí, o en IRC, o Google, puedes preguntar a emacs. Simplemente pulse C-h a (M-x command-apropos) y escriba un término de búsqueda, en nuestro caso scale. Si hay funciones coincidentes, aparecerán sus nombres, combinaciones de teclas y documentación. Hay, y ahora acaba de descubrir text-scale-increase y text-scale-decrease.

Hay otras funciones de auto-documentación que son buenas para aprender C-h m le dirá qué combinaciones de teclas y comandos están disponibles en los modos mayor y menor actual. Esta es una excelente forma de descubrir funciones que no sabías que existían.

Otra forma de "aprender por osmosis" es M-x customize-group para los modos que usa regularmente. (customize es el editor de configuración interactivo compatible con casi todos los modos.)

Lo último que debe hacer es aprender Emacs Lisp. Es bueno usar las herramientas existentes, pero a veces necesitarás las tuyas propias. Si tratas de evitar aprender Lisp, siempre estarás atrapado con cosas que no funcionan del todo bien, y eso es una pena.

Emacs es un excelente entorno para personalizarlo. Emacs incluye dos manuales de Lisp que se pueden ver a través del M-x info. Es autodocumentado, por lo que puede decir C-h f o M-x describe-function para obtener la documentación de cualquier función. Incluso puede presionar TAB ENT para saltar al código fuente de esa función, para ver cómo se implementa. Esto es genial cuando piensas "Desearía tener algo que funcionara como foo, pero ligeramente diferente". Puede leer cómo se implementa foo, realice su cambio en el buffer *scratch*, y luego vea si le gusta el cambio. No hay ciclo de edición/compilación/prueba. Presiona una tecla y su sesión de emacs tendrá inmediatamente la característica que acaba de escribir.

Cuanto más esfuerzo ponga en aprender emacs, más emacs hará para facilitar su trabajo.

1

¿Cómo se puede aprender un "buen flujo de trabajo" para cualquier cosa? Utilizándolo, conociéndolo, haciéndolo tuyo. No hay un uso "apropiado" de Emacs.

Para obtener información: pregunte Emacs - utilice su sistema de ayuda. Esto también puede ser útil: http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles

Cuestiones relacionadas