Hace unos días hablé de la importancia de conocer los atajos de teclado de tu IDE favorito; hoy hablaré de las teclas que más utilizo en el mío, Emacs, y de paso hago una pequeña guía para principiantes en este editor.
Tabla de contenidos
- 0.1 I. Un apunte básico del uso del teclado en Emacs
- 0.2 II. Acceder al comando que queremos ejecutar
- 0.3 III. Me he equivocado con tanta combinación de teclas. ¿ Qué hago ?
- 0.4 IV. Comandos básicos de un editor de texto
- 0.5 V. Comandos para movernos más rápidamente
- 0.6 VI. Visualizando varios buffers a la vez
- 0.7 VII. A la hora de programar nos será muy útil…
- 0.8 Anexos
- 1 También podría interesarte....
I. Un apunte básico del uso del teclado en Emacs
Lo primero que hay que mencionar es que hay muchas combinaciones con la tecla Control y Alt (o Meta), cuando una tecla, por ejemplo, la «x» se pulsa junto con Control diremos C-x y cuando esa misma tecla la pulsamos junto con Alt diremos M-x cuando pulsamos una combinación por ejemplo (M-g) y luego tenemos que soltar las teclas y pulsar una tecla sola, por ejemplo, otra g, diremos (M-g g), lo mismo vale con combinaciones, si tenemos que pulsar primero C-x y luego C-c diremos: «C-x C-c»
Si por alguna casualidad no podemos pulsar la tecla Meta, o una combinación (como sucede en algunos tipos de terminales remotos), podemos, para pulsar M-x, pulsar «Escape x»
II. Acceder al comando que queremos ejecutar
Una de las muchas cosas buenas que tiene Emacs es que todo lo que podemos hacer por teclado tiene un comando asociado, incluso para muchas acciones que no tienen tecla asociada. Por otra parte, también tenemos que decir que las teclas se pueden personalizar, por lo que estas teclas que diré (si no digo lo contrario) son las que vienen por defecto, y que casi todos los usuarios mantenemos porque suelen ser cómodas de pulsar, aunque en algunas ocasiones serían cómodas en un teclado inglés… pero te terminas acostumbrando.
Como iba diciendo, para ejecutar un comando debemos pulsar M-x y podremos, desde el minibuffer escribir el comando que queremos ejecutar, eso sí, disponemos de completion por lo que en cualquier momento podemos pulsar tab y veremos las posibilidades que tenemos. Incluso podemos pulsar M-x tab y veremos todas las posibilidades que tenemos, hay que recordar que podemos cargar extensiones y éstas pueden añadir comandos nuevos. Es más, la lista de comandos se abrirá en un nuevo buffer de Emacs, con lo que podremos buscar en ese buffer (no siempre nos acordamos de cómo empieza un comando). Para buscar también podemos hacer M-h a.
III. Me he equivocado con tanta combinación de teclas. ¿ Qué hago ?
Pulsar C-g en cualquier momento, eliminará todo lo que hemos pulsado hasta ahora. Es cierto, que a veces hay combinaciones demasiado largas, o en ocasiones hemos empezado a pulsar algo y nos arrepentimos, bien C-g es la solución para seguir por donde estábamos.
También podemos pulsar C-g si queremos cancelar una acción en curso, como por ejemplo salir, cuando tenemos muchos buffers abiertos y nos pregunta si queremos guardar o no, podemos pulsar C-g para que deje de preguntar por archivos y no salir del programa.
IV. Comandos básicos de un editor de texto
- Abrir archivo: C-x C-f nos preguntará qué archivo abrir, podemos navegar por directorios desde el minibuffer, tenemos además la posibilidad de completar el nombre del archivo. (A lo bash)
- Nuevo archivo: C-x C-f ¡ igual que antes ! y es que no hacemos nada diferente, abrimos un nuevo buffer. El archivo no se creará hasta que no lo salvemos por primera vez, así que, sin problema.
- Salvar archivo: C-x C-s Salvamos el archivo con el nombre que tiene.
- Salvar como: C-x C-w Nos pregunta con qué nombre nuevo queremos salvar el archivo
- Salir: C-x C-c Salimos, nos preguntará
- Buscar un texto: C-s (busca hacia adelante) C-r (busca hacia atrás) La primera vez que pulsamos cualquiera de las teclas, nos preguntará qué texto buscar, luego podemos jugar y buscar adelante y atrás como queramos.
- Deshacer: Es posíblemente la opción peor implementada en Emacs, pero a veces hace el apaño. Podemos pulsar C-x u para deshacer un carácter o C-u C-x u para deshacer un conjunto de caracteres.
- Seleccionar texto: Podemos hacerlo con el ratón o pulsar C-espacio, soltar y movermos con las teclas (flechas, re-pag, av-pag, inicio, fin y combinaciones.
- Copiar: Con un texto seleccionado, pulsamos M-w
- Cortar: Con un texto seleccionado, pulsamos C-w
- Pegar: Pulsar C-y, pero si queremos pegar alguno de los textos copiados antes del último, justo después de C-y pulsamos M-y, e iremos navegando por todo lo que hemos ido copiando anteriormente.
- Cambiar de ventana: C-b y seguidamente escribimos el nombre del fichero que queremos editar (de los que previamente están abiertos. O también C-x C-b para ver un listado de ficheros abiertos.
- Cerrar buffer: C-x k Cerramos el buffer abierto ahora mismo, si correspondía con un fichero y no hay más buffers con ese fichero abierto, cerraremos el fichero y si tiene algún cambio, nos preguntará si queremos salvarlo.
V. Comandos para movernos más rápidamente
Algunos de estos son utilizados en más lugares:
- C-k Elimina desde la posición actual del cursor hasta fin de línea. Estamos cortando el texto, por lo que la línea se copiará automáticamente.
- M-< Saltamos al principio del buffer
- M-> Saltamos al final del buffer
- C-arriba / C-abajo : Nos moveremos verticalmente en bloques, es decir entre líneas en blanco o entre funciones, entre comentarios, etc
- C-l Centra el buffer actual en la posición del cursor. Si se nos ha perdido el cursor es muy útil, o si estamos leyendo un documento.
- M-g g nos preguntará a qué línea nos queremos ir del texto.
- C-x h Selecciona el buffer completo
- M-h Selecciona el párrafo actual
VI. Visualizando varios buffers a la vez
Emacs nos permite, en la misma ventana (aunque aquí se llame frame) tener varios cuadros de texto (que Emacs llama windows):
- C-x 2 dividimos horizontalmente la pantalla, para tener un buffer arriba y otro abajo
- C-x 3 dividimos verticalmente la pantalla, así tenemos un buffer a la derecha y otro a la izquierda.
- C-x 0 (cero) eliminamos el buffer seleccionado
- C-x o (letra O) cambiamos de buffer, nos vamos al de al lado, aunque también podemos seleccionarlos con ratón
VII. A la hora de programar nos será muy útil…
- C-; Si tenemos un texto seleccionado, comentará ese texto, si no introducirá un comentario al final de la línea.
- C-M-@ Si tenemos un texto seleccionado, se auto-indentará todo dependiendo del lenguaje de programación que estemos escribiendo.
- M-/ Se completará automáticamente la palabra que estamos escribiendo ahora mismo.
- Cuando hacemos C-espacio, C-s, C-r, etc vamos a irnos a otra posición diferente a la que estábamos, por lo que necesitamos una tecla para regresar: C-x C-x ; es útil cuando programamos y tenemos que escribir algo arriba del todo, y luego regresar a la línea donde seguimos escribiendo.
- C-x r espacio Nos hará una pregunta, pulsamos una letra cualquiera, por ejemplo a. Guardará la posición en esa a
- M-x register-to-point Nos preguntará una posición, por ejemplo, la de antes: a; y nos lanzará a esa parte del texto. (Podremos vincularlo a una tecla si lo usamos bastante.
Anexos
Bueno, aquí pondré combinaciones teclas interesantes que me vayáis diciendo.
- C-h t nos da acceso al tutorial de EMACS, muy interesante para empezar con una lectura ligera. Sugerido por @nflamel
Aunque parece que tenemos que estudiar para utilizar el editor, basta con una semana para habituarse a las teclas básicas, y poco a poco, llamando a los comandos M-x indent-region (por ejemplo) nos dirá la tecla que debemos pulsar para acceder rápidamente.
Actualizado: 31/10/2014 para añadir anexos y la tecla del tutorial.
Pingback: Bitacoras.com /
Pingback: BlogESfera.com /
Genial, siempre he querido saber como manejar EMACS
Viendo estos atajos me hace recordar porque amo a vim!
@kenkeiras
A mí me gusta mucho, he pasado muchísimas horas con este programa, y casi no sé vivir sin él…
@Ramón
Sobre gustos no hay nada escrito, tal vez sean atajos de teclado algo raros, pero personalmente vim me estresa… aunque también es verdad que he visto personas que usan vim hasta con los ojos cerrados 🙂 :wq
@Ramón
Cuánto tiempo sin un buen flame vim vs. emacs!
Venga, mi opinión personal intransferible.
Vim, pros: edicion modal.
Vim, contras: VimScript, no hay magit
Emacs, pros: elisp, magit
Emacs, contras: … iba a decir que no hay edición modal, pero me he acordado de evil así que…
@admin cuenta como abrir el tutorial de emacs, que viene muy bien para empezar 🙂
Tecla del tutorial añadida.
Uhmmm, tenía que decirlo, vi es el editor de la bestia, como diría Richard Stallman 🙂 http://youtu.be/S76pHIYx3ik?t=2m25s
Pingback: Foto: Chuleta de atajos de teclado de Emacs – Poesía Binaria /
Good step you have written of writing content relating to cooperate sense. Better yet good working skills and hope you write more of this soon.Eddie Munson Jacket