Skip to content

coquec/.emacs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atajos de GNU Emacs

1. Salida y trabajo con varios archivos en distintos buffers

C-x C-c

Salir de Emacs. Si Emacs pregunta si queremos guardar algún archivo, podemos pulsar una de estas teclas:

  • Y o yes guarda el buffer.

  • N o <DEL> se salta el buffer.

  • q o <RET> aborta el guardado y sigue con el cierre de Emacs.

  • C-g aborta el guardado y la salida de Emacs.

  • ! guarda todos los buffers.

  • d hace un diff del buffer con el archivo del disco.

C-x C-f

Abrir un archivo en un nuevo buffer (find file).

C-x C-s

Guarda el buffer actual (save file).

C-x C-v

Sustituye el buffer actual por otro archivo.

C-x C-w

Guarda el buffer en otro archivo (write file).

C-x C-q

Conmuta el estado de solo lectura del buffer.

C-x s

Guarda todos los buffers, de uno en uno. Si Emacs hace preguntas sobre guardar archivos, podemos usar las mismas respuestas que al salir con C-x C-c.

C-x b

Cambia el buffer actual.

C-x C-b

Muestra un listado de los buffers.

C-x k

Cierra (kill) el buffer actual.

C-x d

Abre el editor de directorios dired en el buffer actual.

C-x C-j

Abre el editor de directorios dired en el directorio del buffer actual.

C-x 4

Prefijo para trabajar en la siguiente ventana (a la que iríamos con C-x o. Por ejemplo, C-x 4 C-f abre un archivo en esa ventana. Ver las órdenes disponibles con C-x 4 C-h.

C-z

Suspende Emacs (o lo minimiza si está en modo GUI).

2. Ventanas

C-x 0

Cierra la ventana actual.

C-x 1

Cierra todas las ventanas, salvo la actual.

C-x 2

Parte la ventana actual horizontalmente.

C-x 3

Parte la ventana actual verticalmente.

C-x o

Cambia la ventana actual.

3. Ayuda

C-h

(Tras una tecla de prefijo) Muestra las combinaciones disponibles con ese prefijo.

C-h k key

Describe la función de la tecla key.

C-h l

Muestra las últimas teclas pulsadas y las órdenes ejecutadas.

C-h m

Describe los modos activos, incluyendo todas las combinaciones de teclado.

C-h a string

Muestra las órdenes que concuerden con string (_a_propos).

C-h v string

Describe la variable string.

C-h x string

Describe la orden string.

C-h f string

Describe la función string.

4. Movimiento del cursor

C-f

Va al siguiente carácter (forward).

M-f

Va al final de la siguiente palabra.

C-b

Va al carácter anterior (backward).

M-b

Va al principio de la palabra anterior.

C-p

Va a la línea anterior (previous).

C-M-p

Va hacia atrás hasta el paréntesis de apertura más próximo (previous).

C-n

Va a la siguiente línea (next).

C-M-n

Va al final de la expresión balanceada siguiente. (previous)

C-a

Va al principio de la línea.

M-a

Va al principio de la frase.

C-e

Va al final de la línea.

M-e

Va al final de la frase.

M-r

Va al principio, mitad y final de la vista.

M-m

Va al primer carácter no blanco de la línea.

M-<

Va al principio del buffer, guardando antes la marca (se puede volver a la posición actual con C-u C-<SPC>).

M->

Va al final del buffer, guardando antes la marca.

M-g M-g

Va a una línea específica. Admite el número de línea como prefijo o pregunta por él. Por ejemplo, M-4 3 M-g M-g, va a la línea 43.

M-g <TAB>

Va a una columna específica.

M-g c

Va a una posición del buffer específica.

M-{

Va hacia el principio del párrafo anterior.

M-}

Va hacia el final del siguiente párrafo.

C-x [

Va al borde de la página anterior (según el delimitador definido en la variable page-delimiter).

C-x ]

Va al borde de la siguiente página (según el delimitador definido en la variable page-delimiter).

C-x C-n

Fija la columna a la que se mueve el cursor cuando cambia de línea goal column).

C-u C-x C-n

Deshabilita la orden anterior.

C-<SPC> C-<SPC>

Guarda la posición del cursor en el anillo de marcas.

C-u C-<SPC>

Va a la última posición guardada en el anillo de marcas.

M-g M-n

Va a la siguiente ocurrencia de la última búsqueda occur.

M-g M-p

Va a la ocurrencia anterior de la última búsqueda occur.

C-M-f

Va al final del bloque (expresión balanceada).

C-M-b

Va al principio del bloque (expresión balanceada).

C-M-u

Va al bloque anterior.

C-M-d

Va al siguiente bloque.

C-M-a

Va al principio de una función.

C-M-e

Va al final de una función.

C-l

Pone la línea actual en el centro de la ventana. Pulsar varias veces para alternar entre el centro, la primera línea o el final de la ventana.

C-M-l

Intenta mostrar el principio del comentario o de la función actual al principio de la vista, sin mover el cursor. Precedido de C-u, permitimos que se mueva el cursor.

C-v

Siguiente página. Admite argumentos, en especial C--, que invierte la dirección (va a la página anterior).

C-M-v

Siguiente página en otra ventana (p.ej, la de una página de ayuda). Admite argumentos, en especial C-M--, que invierte la dirección (va a la página anterior).

M-v

Página anterior.

C-M-S-v

Página anterior en otra ventana (p.ej, la de una página de ayuda).

C-x >

Scroll a la derecha.

C-x <

Scroll a la izquierda.

5. Deshacer

C-x u

Deshace (undo).

C-/

C-_

C-u C-/

Deshace dentro de la región.

C-u C-_

6. Seleccionar texto (marcar)

Todas las órdenes para marcar amplían la región actual si está activa. También admiten argumentos numéricos, e incluso negativos para cambiar la dirección del texto seleccionado. Esto es especialmente útil con C-M-- C-M-<SPC>, para marcar las palabras anteriores a la posición del cursor.

C-<SPC>

Pone la marca donde esté el cursor y la activa.

C-@

C-u C-<SPC>

Va a la última marca en el anillo de marcas y la saca de él.

C-x C-x

Intercambia el cursor y la marca y la activa.

M-h

Marcar el párrafo actual: pone el cursor al principio y la marca al final, y la activa.

C-M-h

Marcar la función (defun) actual: pone el cursor al principio y la marca al final, y la activa.

C-x h

Marcar el buffer entero: pone el cursor al principio y la marca al final, y la activa.

C-x C-p

Marcar la página actual (según el delimitador definido en la variable page-delimiter): pone el cursor al principio y la marca al final, y la activa.

M-@

Pone la marca al final de la siguiente palabra sin mover el cursor, y la activa.

C-M-<SPC>

Pone la marca al final de la siguiente expresión balanceada sin mover el cursor, y la activa.

C-M-@

7. Copiar, cortar y pegar

C-y

Pega (yank) el texto cortado y pone la marca al otro lado de donde quede el cursor.

M-y

Después de C-y, sustituye el texto pegado por otro cortado previamente.

En cualquier otro caso, permite elegir qué texto previamente cortado queremos pegar.

M-w

Copia el texto marcado.

C-w

Corta el texto marcado.

C-M-w

Sigue añadiendo lo siguiente que se corte al texto cortado previamente.

C-M-k

Corta la siguiente expresión balanceada.

C-S-<BACKSPACE>

Corta la línea actual.

8. Repeticiones

M--

Argumento negativo para la siguiente orden.

C-u -

Argumento negativo para la siguiente orden.

C-número

Repite la siguiente orden el número especificado de veces. Intentar utilizar la misma tecla que con la siguiente orden (C, M o C-M), para mantener el ritmo de pulsaciones. Se pueden utilizar argumentos negativos, e incluso un único argumento negativo (C--), para invertir el sentido de algunas órdenes.

M-número

C-M-número

C-u número

C-x <ESC> <ESC>

Re-ejecuta la última orden introducida en el minibuffer. Precedido de C-n, ejecuta la e_n_ésima orden anterior (1 para la última). Se puede usar M-p y M-n para moverse en el historial de órdenes.

M-x list-command-history

Muestra la historia de órdenes ejecutadas que pueden repetirse con C-x <ESC> <ESC>.

C-x z

Repite la última orden. Seguir pulsando z para seguir repitiendo.

M-0 C-x e

Repite una macro hasta alcanzar el final del buffer.

C-u 0 C-x e

9. Buscar y sustituir

C-s

Búsqueda interactiva hacia adelante. Empezar a escribir para ir a la primera coincidencia.

C-s C-s

Repite hacia adelante la última búsqueda interactiva.

M-s M-.

Búsqueda hacia adelante de lo que haya bajo el cursor.

M-s w

Búsqueda hacia adelante de las palabras en la cadena de búsqueda como palabras separadas por espacios o por símbolos. Por ejemplo, buscando "palabras son palabras" encontrará el texto "palabras.son→palabras".

C-r

Búsqueda interactiva hacia atrás. Empezar a escribir para ir a la primera coincidencia.

C-r C-r

Repite hacia atrás la última búsqueda interactiva.

C-r C-w

Búsqueda interactiva hacia atrás de la palabra en la que está el cursor.

C-M-s

Búsqueda interactiva de regexp hacia delante.

C-M-r

Búsqueda interactiva de regexp hacia atrás.

C-M-i

Intenta completar la cadena de búsqueda según las búsquedas anteriores.

M-x word-search-forward <RET> string <RET>

Busca las palabras que haya en string, ignorando los signos de puntuación, espacios en blanco y retornos de línea que haya entre ellas.

M-x replace-string <RET> string <RET> newstring <RET>

Sustituye todas de las ocurrencias de string por newstring desde la posición del cursor hasta el final del buffer. Intenta mantener las mayúsculas de la cadena original (p.ej, al cambiar UNO por dos, pone DOS). No hace esto si se usan mayúsculas en string o en newstring. Si hay una región activa, solo actúa dentro de ella.

M-% string <RET> newstring <RET>

Sustituye algunas de las ocurrencias de string por newstring, preguntando en cada ocurrencia qué queremos hacer. Con prefijo C-número, solo cambia las ocurrencias rodeadas por delimitadores de palabras. Con prefijo C--, busca hacia atrás. Se puede pulsar C-r para abrir una edición recursiva.

Otras opciones disponibles:

  • <SPC>, y: hace un cambio y sigue.

  • .: hace un cambio y sale.

  • ,: hace un cambio y se mantiene en la posición actual.

  • <RET>, q: sale sin hacer cambios.

  • !: cambia todas las ocurrencias hasta el final del buffer.

  • ^: va a la ocurrencia anterior.

  • u: deshace el último cambio.

  • U: deshace todos los cambios.

C-M-% regexp <RET> newstring <RET>

Sustituye algunas de las ocurrencias de regexp por newstring. Por lo demás, funciona como la anterior.

M-x occur <RET> regexp <RET>

Encuentra todas las líneas que tengan regexp y las muestra en una ventana nueva en modo occur.

M-x multi-occur-in-matching-buffers

Encuentra una expresión regular en todos los buffers cuyos nombres coincidan con otra expresión regular, y muestra los resultados en una ventana nueva en modo occur.

M-x multi-occur

Encuentra una expresión regular en todos los buffers que se seleccionen, y muestra los resultados en una ventana nueva en modo occur.

M-g i

Permite ir a uno de los títulos del documento actual usando la infraestructura imenu. Funciona en la mayoría de los modos, incluyendo adoc.

9.1. Pulsaciones durante las búsquedas

<RET>

Termina la búsqueda, dejando el cursor en el texto encontrado y estableciendo una marca donde empezó la búsqueda.

C-g

Aborta la búsqueda, volviendo a la posición donde empezó.

C-s

Seguir buscando hacia adelante.

C-r

Seguir buscando hacia atrás.

C-w

Añade a la cadena buscada la palabra bajo el cursor. Pulsar varias veces para añadir más palabras.

C-M-y

Añade a la cadena buscada el carácter bajo el cursor. Pulsar varias veces para añadir más caracteres.

C-y

Añade a la cadena buscada la última entrada del portapaleles.

M-<

Va a la primera ocurrencia en el buffer.

M->

Va a la última ocurrencia en el buffer.

C-v

Va a la primera ocurrencia después de la ventana actual.

M-v

Va a la última ocurrencia antes de la ventana actual.

M-e

Permite editar la cadena de búsqueda. Terminar con <RET>.

M-n

Presenta la siguiente cadena de la historia de búsquedas.

M-p

Presenta la anterior cadena de la historia de búsquedas.

M-c

Conmuta la sensibilidad a las mayúsculas (por defecto, la búsqueda no es sensible a las mayúsculas).

M-s c

M-s <SPC>

Conmuta entre la interpretación laxa de espacios y la interpretación literal en la cadena buscada.

M-s '

Conmuta el desdoblamiento de caracteres (character folding). Activada, encuentra caracteres acentuados como á al buscar a, por ejemplo.

M-s r

Conmuta la interpretación de la cadena de búsqueda como expresión regular.

M-s w

Conmuta la interpretación de las palabras en la cadena de búsqueda como palabras separadas por espacios o por símbolos. Por ejemplo, buscando "palabras son palabras" encontrará o no el texto "palabras.son→palabras".

M-s _

Conmuta la interpretación de la cadena de búsqueda como un símbolo (en un lenguaje de programación).

M-s o <RET>

Encuentra todas las líneas que tengan la expresión buscada y las muestra en una ventana nueva en modo occur.

9.2. Modo occur

Al ejecutar una búsqueda con occur, se abre una ventana con todas las líneas que se encuentren. Dentro de ella, se pueden usar los siguientes atajos:

o

Mueve el cursor al la ocurrencia de la línea actual.

<RET>

C-c C-c

C-o

Muestra la ocurrencia de la línea actual en otra ventana, sin mover el cursor.

<SPC>

Va a la siguiente página.

<DEL>

Va a la página anterior.

<

Va al principio del buffer.

>

Va al final del buffer.

c

Crea una nueva copia del buffer.

e

Pone el buffer en modo edición. Los cambios que se hagan en el buffer occur se aplican simultáneamente en las líneas originales. C-c C-c termina la edición.

g

Refresca el buffer, ejecutando de nuevo la búsqueda.

l

Muestra el error en el centro de la otra ventana. Pulsar varias veces para ir mostrándolo arriba, abajo o en el centro (como C-l en cualquier buffer).

n

Muestra en otra ventana la siguiente ocurrencia, y la marca con una flecha en el margen izquierdo.

p

Muestra en otra ventana la ocurrencia anterior, y la marca con una flecha en el margen izquierdo.

q

Cierra la ventana de occur, aunque el buffer se mantiene abierto.

r

Renombra el buffer occur.

C-c C-f

Activa el follow mode, que va mostrando las ocurrencias en otra ventana siguiendo el movimiento del cursor. Se desactiva pulsando el mismo atajo.

10. Indentación (fill)

M-q

Indenta el párrafo actual. Si la región está activa, indenta todos sus párrafos. Precedido de C-u, justifica el texto entre la primera columna y el margen derecho metiendo espacios entre las palabras.

M-x fill-region

Indenta todos los párrafos de la región.

M-x fill-region-as-paragraph

Indenta la región, considerándola como un solo párrafo.

C-x f

Establece el margen derecho ('fill-column'). Precedido de C-u, lo establece en la columna donde esté el cursor.

C-x .

Toma el texto desde el principio de la línea hasta el cursor y lo establece como el prefijo a usar en cada línea al indentar. Para eliminarlo, usarlo con el cursor al principio de la línea.

C-x <TAB>

Indenta la región de forma interactiva (usar las flechas → y ← para mover el texto una columna cada vez, y con S-→ y S-← para moverlo de parada a parada de tabulador). Con prefijo C-_número, añade o quita el número especificado de espacios al principio de las líneas marcadas.

M-i

Inserta espacios en la posición del cursor hasta alcanzar la siguiente parada del tabulador.

M-x indent-relative

Inserta espacios en la posición del cursor hasta el primer carácter que no sea un espacio en la línea anterior, o hasta la siguiente parada del tabulador si no hay caracteres así.

M-^

Junta la línea actual con la anterior separadas por un solo espacio.

C-M-\

Indenta la región, como si se hubiera pulsado <TAB> en cada línea. Precedido de C-número, indenta la región a la columna número (la primera es la 0).

C-M-o

Divide la línea actual en la posición del cursor, insertando un retorno y los espacios necesarios para que el texto que está a la derecha del cursor quede a la misma altura.

M-x auto-fill-mode

Conmuta el modo de auto-indentación. Las líneas se dividen al pulsar <SPC> o <RET> cuando sobrepasan la columna fill-column.

M-o M-s

Centra la línea del cursor entre la primera columna y el margen derecho. Precedido de C-n, centra las siguientes n líneas y pone el cursor tras ellas.

11. Macros

C-x (

Empieza a grabar una macro.

C-x )

Termina de grabar una macro.

C-x e

Ejecuta la última macro grabada.

C-x C-k x r

Guarda la última macro en el registro r. Puede ejecutarse con C-x r j r.

12. Registros

C-x r ?

Ayuda de órdenes de registros/marcadores.

C-x r <SPC> r

Guarda la posición del cursor en el registro r.

C-x r w r

Guarda la configuración de las ventanas del marco seleccionado en el registro r.

C-x r f r

Guarda la configuración de todos los marcos y sus ventanas en el registro r.

C-x r j r

Salta a la posición del cursor, recupera las configuraciones de ventanas o marcos guardadas en el registro r, visita el archivo guardado en él o ejecuta la macro correspodiente. Con prefijo C-u al recuperar la configuración de las ventanas, elimina los marcos que no estén en la configuración recuperada.

C-x r s r

Guarda la región en el registro r (con prefijo C-u, también la borra del buffer).

C-x r r r

Guarda la región-rectángulo en el registro r (con prefijo C-u, también la borra del buffer).

C-x r n r

Guarda el número 0 en el registro r (precedido de C-número, guarda ese valor en el registro).

C-x r + r

Si el registro r tiene un número, le suma 1 (precedido de C-número, le suma esa cantidad).

C-x r i r

Inserta en el buffer el número, el texto o el rectángulo del registro r (con prefijo C-u, deja el cursor al principio y pone la marca al final).

M-x append-to-register <RET> r

Añade la región al registro r (con prefijo C-u, también la borra del buffer).

M-x prepend-to-register <RET> r

Añade la región al principio del registro r.

M-x view-register <RET> r

Describe el contenido del registro r.

(set-register r '(file . path))

Guarda el nombre del archivo path en el registro r. P. ej, (set-register ?e '(file . "/home/xxx/.emacs")). Puede visitarse con C-x r j r.

13. Marcadores (bookmarks)

C-x r m <RET>

Establece un marcador en el buffer actual, donde esté el cursor, llamado igual que el archivo.

C-x r m bookmark <RET>

Establece un marcador llamado bookmark en el buffer actual, donde esté el cursor.

C-x r M bookmark <RET>

Como el anterior, pero no reescribe un marcador que ya exista.

C-x r b bookmark <RET>

Salta al marcador especificado.

C-x r l

Lista todos los marcadores. Se puede editar el contenido del listado (pulsar ? para ayuda).

M-x bookmark-save

Guarda la lista de marcadores en el archivo de marcadores por defecto (~/.emacs.d/bookmarks o ~/.emacs.bmk, si éste existe).

M-x bookmark-delete <RET> bookmark <RET>

Borra el marcador bookmark.

M-x bookmark-insert-location <RET> bookmark <RET>

Inserta en el buffer el nombre del archivo al que apunta bookmark.

M-x bookmark-insert <RET> bookmark <RET>

Inserta en el buffer el contenido del archivo al que apunta bookmark.

M-x bookmark-load <RET> filename <RET>

Carga el archivo de marcadores filename.

M-x bookmark-write <RET> filename <RET>

Guarda los marcadores en el archivo filename.

14. Rectángulos

C-x <SPC>

Conmuta el modo de marcado de rectángulo, mostrando la región-rectángulo y haciendo que las órdenes habituales de copiado y pegado funcionen sobre ella mientras la región esté activa. En este modo, C-x C-x alterna el cursor entre las cuatro esquinas del rectángulo.

C-x r k

Corta la región-rectángulo.

C-x r M-w

Copia la región-rectángulo.

C-x r d

Borra la región-rectángulo.

C-x r y

Pega el último rectángulo cortado en el punto donde esté el cursor.

C-x r o

Abre espacio para un rectángulo, desplazando el texto a la derecha y rellenándolo con espacios.

C-x r c

Limpia el espacio del rectángulo, sustituyendo el texto por espacios.

C-x r N

Numera cada línea del rectángulo y desplaza el texto a la derecha. Precedido por C-u, permite elegir el número inicial y el formato.

C-x r t string <RET>

Sustituye cada línea del rectángulo por string.

M-x delete-whitespace-rectangle

Elimina los espacios que haya en cada línea del rectángulo, desde la columna de la izquierda en adelante.

C-x r r r

Guarda la región-rectángulo en el registro r (con prefijo C-u, también la borra del buffer).

15. Trasposición

C-t

Traspone los dos caracteres que rodean al cursor y avanza el cursor (hace avanzar el carácter que hay antes del cursor y deja el cursor tras él). Si está al final de la línea, traspone los dos últimos caracteres de la línea sin mover el cursor. Con un prefijo C-n, hace avanzar el carácter n veces. Con un prefijo negativo, lo hace retroceder. Con un prefijo C-0, traspone el carácter que hay tras el cursor con el de la marca.

M-t

Traspone las palabras que rodean al cursor y pone el cursor después de la segunda palabra (hace avanzar la palabra que hay antes del cursor). No mueve los signos de puntuación. Admite prefijo C-n.

C-M-t

Traspone las expresiones balanceadas que rodean al cursor (hace avanzar la expresión balanceada que haya antes del cursor).

C-x C-t

Traspone dos líneas (hace avanzar la línea que haya encima del cursor).

16. Edición de código

M-;

Inserta o elimina un comentario según lo que Emacs considere adecuado, dependiendo del contenido de la línea actual y de lo que tengamos seleccionado, por ejemplo.

C-x C-;

Comenta o quita el comentario de la línea actual.

M-j

Inserta una línea continuando el comentario.

C-M-j

17. Expresiones en Lisp

M-:

Pide una expresión en el minibuffer, la evalúa y muestra el resultado. Con prefijo M-1, inserta el resultado en el buffer actual.

C-j

En el buffer *scratch* o en un buffer que esté en lisp-iteration-mode, evalúa la primera sexp que encuentre antes del cursor e inserta el resultado en el buffer.

C-x C-e

Evalúa la primera sexp que encuentre antes del cursor. Con prefijo C-1, inserta el resultado en el buffer actual.

18. Varios

C-g

Aborta una orden en curso.

M-x string

Permite ejecutar cualquier orden interactiva de Emacs.

M-X string

Permite ejecutar las órdenes más adecuadas para el buffer activo.

M-x subword-mode

Habilita que Emacs considere las mayúsculas como separadores de palabras.

C-o

Inserta un retorno donde esté el cursor, sin moverlo.

C-x =

Muestra información sobre el carácter bajo el cursor. Precedido de C-u, da más información.

C-x 8

Prefijo para introducir caracteres especiales. Por ejemplo, C-x 8 ~ n inserta una eñe.

C-x C-l

Convierte el texto de la región en minúsculas.

C-x C-u

Convierte el texto de la región en mayúsculas.

M-=

Cuenta las palabras, líneas y caracteres de la región actual, activa o no. Precedida de un argumento, actúa sobre el buffer entero.

C-x l

Cuenta las líneas de la página actual (según el delimitador definido en la variable page-delimiter).

M-x recursive-edit

Abre una edición recursiva. El modo principal aparece entre corchetes. Se termina con M-C-c.

19. lido-mode

M-j

Ejecuta la acción sobre el contenido actual del minibuffer sin intentar autocompletarlo.

About

Personal emacs configuration

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published