Toda la ayuda de Emacs
Quieres aprender a utilizar Emacs y en lugar de ponerte a ello, pretendes que te haga yo el trabajo. Bien, así no funciona el aprendizaje, hazme caso. Muchas cosas las podrás aprender leyendo este blog, así que, de alguna manera ya tienes muchas cosas explicadas. Además, una de las ventajas de Emacs es que todo es consultable, el mismo código te explica cómo funciona o, al menos, para qué sirve, sólo tienes que preguntar y leer. ¿Cómo preguntas? Pues para eso tienes el sistema de ayuda, uno de los más completos que puedes encontrar en este mundo. En este pequeño artículo te voy a explicar cómo puedes usarla, que es la manera cómo yo me inicié y aprendí a utilizarlo. Además hay un montón de blogs, artículos y canales de vídeo que te proporcionarán información adicional. La ventaja de la ayuda que viene con Emacs es que la puedes consultar dentro del propio editor e incluso ejecutar el código de los ejemplos que encuentras.
F1
No me refiero a la fórmula uno. Me refiero a la tecla de función F1
que en el mundo mundial, de toda la mundialidad, suele asociarse con
la ayuda de las aplicaciones; en Emacs también. Aunque, los que
usamos este editor habitualmente, estamos más acostumbrados a la
combinación C-h
. Pero recuerda, cualquiera de los dos métodos te
permitirá acceder a la ayuda.
Algo más sobre las teclas: como has visto <F1>
y C-h
son
equivalentes. Ocurre lo mismo con otras teclas. Por ejemplo, una muy
socorrida que se utiliza bastante es la combinación M-x
para
introducir a continuación un comando. El mismo efecto lo consigues
pulsando <ESC> x
1 y también la tienes en la tecla de menú
junto al <Control derecho>
. Esto es para que veas, que algunas veces
las cosas se pueden hacer de varias maneras.
¿Por dónde empezar?
Esta pregunta es la más fácil de contestar. Si no has utilizado Emacs con antelación, te vendrá muy bien que comiences por aprender cómo funciona, cómo moverte por un fichero, como cargar, modificar y guardar los ficheros, etc. Por tanto, te vendrá muy bien hacer el tutorial que viene con él. Además puedes elegir en qué idioma hacerlo.
Como ya te he dicho antes, en Emacs las cosas se pueden hacer de
varias maneras. Una es aprenderte la combinación de teclas que hace lo
que quieres2, pero de éstas sólo te aprenderás las que usas
normalmente. Otra forma de utilizar funcionalidades es, como te he
dicho antes, llamándolas desde M-x
o <ESC> x
o la tecla de menú.
Por abreviar y centrarnos en la tarea de aprender a manejar Emacs,
son equivalentes:
M-x help-with-tutorial <=> C-h t
Al activarlo te mostrará un buffer con explicaciones básicas de cómo moverte por Emacs y ejercicios simples para acostumbrarte a su manejo.
Apropos y la ayuda para la ayuda
¿Ya has hecho el tutorial? Bien, pues vamos a seguir con otras cosas
que te pueden ser de ayuda. Pulsa M-x
(o cualquiera de sus
variantes, ya sabes) y escribe apropos
, te pedirá un término que
buscar, teclea help
y debería aparecerte algo como:
Quizá tu Emacs no se vea exactamente así, pero quédate con el
contenido del buffer de la derecha. Ahí tienes una lista de
variables y funciones que contienen el término help
, puedes moverte
por él. Quiero que vayas a la entrada help-for-help
, pero quería que
vieras que aún no sabiendo el nombre exacto puedes buscar la
referencia.
Muestra información sobre el comando help-for-help
, no demasiada,
pero te indica a qué teclas está ligado, junto con una breve
explicación de lo que hace, la versión desde la que se encuentra
incluido en Emacs, etc. Algunas funciones y variables están bien
documentadas y otras pueden dejarte algo que de desear. Básicamente,
este comando abre un buffer de ayuda para manejar la ayuda de
Emacs. Si lo llamas con cualquiera de las teclas a las que está
asignado, por ejemplo pulsando <f1> <f1>
, te aparecerá un buffer
como el siguiente:
Fíjate que es una lista de cosas que puedes consultar pulsando una
tecla de ayuda, la que completaría la combinación de teclas está
remarcada a la izquierda. Si no te cabe toda la información en la
pantalla, usa las teclas de página arriba y página abajo para moverte
por el buffer. En resumen, ¿de qué ayuda podemos hablar? Pues toda
la ayuda, ¿cómo? pues usando C-h <tecla>
. Mira el listado:
- Comandos, teclas y funciones:
m
: Muestra ayuda sobre los comandos y teclas propios de los modos menores y mayor que tengas activados.b
: Muestra todas las teclas configuradas y la función asignada a cada una de ellas.k
: Muestra ayuda para una determinada combinación de teclas.c
: Muestra sólo la función a la que está asignada una combinación de teclas.w
: Muestra qué tecla lanza un comando específico.a
: Busca comandos con ese nombre (similar aapropos
)d
: Busca documentación para funciones, variables y demás.x
: Muestra la ayuda para un comando3.f
: Muestra ayuda para una función.v
: Muestra ayuda sobre una variable.o
: Muestra ayuda para una función o una variable.
- Manuales
r
: Muestra el manual de Emacs.F
: Muestra la sección del manual para un comando.K
: Muestra la sección del manual para una combinación de teclas.i
: Muestra todos los manuales instalados.R
: Muestra un manual específico.S
: Muestra la descripción de un símbolo en el manual correspondiente.
- Otros comandos de ayuda
C-e
: Ayuda de cómo extender Emacs con paquetes.p
: Abre un buffer para buscar información sobre paquetes.P
: Describe un paquete específico.t
: Inicia el tutorial de Emacs.e
: Muestra el buffer*Messages*
con los mensajes recientes del área de eco.l
: Muestra las últimas pulsaciones que se han hecho..
: Muestra ayuda local en el punto donde estás.
- Varios
C-a
: Muestra la ventana de inicio por defecto de Emacs.C-f
: Muestra las preguntas frecuentes de Emacs.C-n
: Muestra novedades sobre los cambios recientes.C-p
: Muestra información sobre problemas conocidos.C-d
: Muestra ayuda sobre cómo depurar Emacs.g
: Muestra información sobre el proyecto GNU.C-c
: Muestra la licencia de uso de Emacs.
- Internacionalización y sistemas de códigos de letras y tipos
I
: Describe métodos de entrada para caracteres especiales.C
: Describe el sistema de códigos.L
: Describe el entorno para una determinada lengua.s
: Muestra la tabla de símbolos.h
: Muestra un archivo con varios sistemas de escritura. Display the HELLO file illustrating various scripts
No quiero decir que te lo tengas que leer todo para aprender a utilizar Emacs. De hecho, yo no me lo he leído todo, sin embargo, sí aprendí cómo utilizar la ayuda. Cuando tengo dudas o no sé hacer algo, lo primero que hago es abrir la ayuda o buscar toda la información que pueda sobre lo que necesito.
Manuales
Tienes mucha información en los manuales. Algunos son libros
completos. Si utilizas la combinación C-h i
te muestra una lista de
todos los manuales que encuentre en el sistema. Algunos paquetes
tienen su manual y vienen con él, como org-mode
. Los más importantes
son:
- Emacs
org-mode
- Emacs Lisp Intro
- Elisp
Pero también son muy recomendables otros más específicos según el uso
que vayas a darle a Emacs. Así a bote pronto se me ocurren: el
manual de eshell
, el manual de magit
, el manual de calc
y el
manual Widget y el de Transient si quieres meterte en temas de
programación de interfaces con Emacs.
Si vas a utilizar tu Emacs para temas de programación, también es
recomendable que le eches un vistazo al manual de EDE y al de
gdb
.
Conclusiones
Ya sé que leer cuesta un esfuerzo extra a que te lo den todo resuelto. Quizá te has acostumbrado a que ese problema que tú tienes ahora, lo tiene que haber tenido alguien antes y seguramente está relatado en algún blog. En muchos casos es así y en este mismo sitio te puedes encontrar con muchas respuestas a dudas que puedes tener. Pero el mérito de esas respuestas no están más que en la documentación que viene con Emacs, que es donde suelo mirar como primera opción.
Me parece una buena manera de aprender, porque así lo he hecho yo. Son tres pasos muy sencillos:
- Intento resolver mi problema recurriendo a la ayuda del programa.
- Si no lo encuentro o no soy capaz de solucionarlo por mi cuenta, pido ayuda.
- Después documento todo lo que he hecho, fundamentalmente para cuando lo vuelva a necesitar, pero además también, porque puede ayudar a otras personas y lo publico en el blog o me lo apunto en mis notas.
Así pues, no me seas vago y lee los manuales. Sé que no es una lectura muy amena, pero sí muy provechosa.
Footnotes:
Esa combinación significa que pulsas la tecla de escape, la
sueltas y pulsas luego la x
. Sí, la tecla escape, yo la tengo
mapeada también en el bloqueo de las mayúsculas y necesito mover menos
la mano.
Sí, esa es una de las queja-excusas de los que no lo usan. Que hay una infinidad de teclas para todo. Es cierto, hay una infinidad de teclas porque hay una infinidad de funcionalidades que llamar.
Lo que diferencia un comando de una función es que el comando
se puede llamar, bien desde M-x
o bien con una combinación de
teclas.
Comentarios