REFERENCIA RÁPIDA DE EMACS
Navegación, edición, buffers, búsqueda, org mode, paquetes
Navegación
Movimiento del cursor
| C-f / C-b | Avanzar / retroceder un carácter |
| M-f / M-b | Avanzar / retroceder una palabra |
| C-n / C-p | Línea siguiente / anterior |
| C-a / C-e | Inicio / fin de línea |
| M-a / M-e | Inicio / fin de oración |
| C-v / M-v | Desplazar hacia abajo / arriba una página |
| M-< / M-> | Inicio / fin del buffer |
| M-g g | Ir al número de línea |
Posicionamiento en pantalla
| C-l | Recentrar pantalla (ciclo superior/centro/inferior) |
| C-M-l | Reposicionar ventana heurísticamente |
Edición
Kill y Yank (Cortar y Pegar)
| C-k | Matar hasta el final de línea |
| C-w | Matar región (cortar) |
| M-w | Copiar región |
| C-y | Yank (pegar) |
| M-y | Ciclar por el kill ring después de yank |
| C-d | Eliminar carácter siguiente |
| M-d | Matar palabra siguiente |
| M-DEL | Matar palabra anterior |
Deshacer y transponer
| C-/ or C-_ | Deshacer |
| C-g C-/ | Rehacer (deshacer el deshacer) |
| C-t | Transponer caracteres |
| M-t | Transponer palabras |
| C-x C-t | Transponer líneas |
Selección
| C-SPC | Establecer marca (iniciar selección) |
| C-x h | Seleccionar todo el buffer |
| M-h | Seleccionar párrafo |
| C-x C-x | Intercambiar punto y marca |
Buffers y ventanas
Buffers
| C-x b | Cambiar a buffer |
| C-x C-b | Listar todos los buffers |
| C-x k | Cerrar buffer |
| C-x LEFT / RIGHT | Buffer anterior / siguiente |
Ventanas
| C-x 2 | Dividir ventana horizontalmente |
| C-x 3 | Dividir ventana verticalmente |
| C-x 0 | Cerrar ventana actual |
| C-x 1 | Cerrar todas las demás ventanas |
| C-x o | Cambiar a otra ventana |
| C-x ^ | Ampliar ventana verticalmente |
| C-x { | Encoger ventana horizontalmente |
Frames
| C-x 5 2 | Crear nuevo frame |
| C-x 5 0 | Eliminar frame actual |
| C-x 5 o | Cambiar a otro frame |
Búsqueda y reemplazo
Búsqueda incremental
| C-s | Buscar hacia adelante (incremental) |
| C-r | Buscar hacia atrás (incremental) |
| C-s C-s | Repetir última búsqueda hacia adelante |
| C-M-s | Búsqueda de regex hacia adelante |
| C-M-r | Búsqueda de regex hacia atrás |
| RET | Salir de la búsqueda en posición actual |
| C-g | Cancelar búsqueda, volver al inicio |
Reemplazo
| M-% | Reemplazo con consulta |
| C-M-% | Reemplazo con consulta por regex |
| y | Reemplazar esta coincidencia |
| n | Saltar esta coincidencia |
| ! | Reemplazar todas las restantes |
| q | Salir del reemplazo |
Archivos
Operaciones con archivos
| C-x C-f | Abrir archivo |
| C-x C-s | Guardar buffer actual |
| C-x C-w | Guardar como (escribir a nuevo archivo) |
| C-x s | Guardar todos los buffers modificados |
| C-x C-r | Abrir archivo en solo lectura |
| C-x i | Insertar contenido de archivo en el punto |
Dired (Editor de directorios)
| C-x d | Abrir directorio en Dired |
| d / x | Marcar para eliminar / ejecutar eliminaciones |
| R | Renombrar / mover archivo |
| C | Copiar archivo |
| + | Crear directorio |
| g | Actualizar listado |
Modos
Modos principales
| M-x fundamental-mode | Edición de texto plano |
| M-x text-mode | Texto con relleno y corrector ortográfico |
| M-x prog-mode | Base para modos de programación |
| M-x python-mode | Edición e indentación de Python |
| M-x shell-mode | Shell interactivo en buffer |
Modos secundarios útiles
| M-x display-line-numbers-mode | Activar/desactivar números de línea |
| M-x auto-fill-mode | Ajuste automático en la columna de relleno |
| M-x flyspell-mode | Corrección ortográfica al vuelo |
| M-x column-number-mode | Mostrar columna en la barra de modo |
| M-x whitespace-mode | Visualizar espacios en blanco |
| M-x electric-pair-mode | Cerrar automáticamente paréntesis y comillas |
Fundamentos de Org Mode
Estructura
| * / ** / *** | Niveles de encabezado 1 / 2 / 3 |
| TAB | Ciclar visibilidad del encabezado |
| S-TAB | Ciclar visibilidad global |
| M-RET | Insertar encabezado al mismo nivel |
| M-LEFT / M-RIGHT | Promover / degradar encabezado |
| M-UP / M-DOWN | Mover subárbol arriba / abajo |
TODO y casillas de verificación
| C-c C-t | Ciclar estado TODO |
| C-c C-d | Establecer fecha límite |
| C-c C-s | Programar elemento |
| C-c C-c | Alternar casilla [ ] / [X] |
| C-c a | Abrir vista de agenda |
Enlaces y exportación
| C-c C-l | Insertar / editar enlace |
| C-c C-o | Abrir enlace en el punto |
| C-c C-e | Despachador de exportación (HTML, PDF, etc.) |
Gestión de paquetes
package.el
| M-x list-packages | Explorar paquetes disponibles |
| i / d / x | Marcar instalar / eliminar / ejecutar |
| U | Marcar todos los actualizables |
| M-x package-refresh-contents | Actualizar lista de paquetes |
use-package (init.el)
(use-package magit
:ensure t
:bind ("C-x g" . magit-status))
(use-package company
:ensure t
:hook (prog-mode . company-mode))
Configuración
Archivos de configuración principales
| ~/.emacs.d/init.el | Archivo de configuración principal |
| ~/.emacs.d/early-init.el | Inicialización temprana (antes de GUI, Emacs 27+) |
| ~/.emacs.d/custom.el | Configuración escrita por Customize |
Configuración común
(setq inhibit-startup-screen t)
(tool-bar-mode -1)
(set-face-attribute 'default nil :height 120)
(global-display-line-numbers-mode 1)
(setq make-backup-files nil)
Sistema de ayuda
| C-h k | Describir atajo de teclado |
| C-h f | Describir función |
| C-h v | Describir variable |
| C-h m | Describir modos actuales |
| C-h t | Abrir tutorial de Emacs |
| C-h i | Abrir documentación Info |
Patrones comunes
Edición rectangular
| C-x SPC | Iniciar modo de marca rectangular |
| C-x r k | Matar rectángulo |
| C-x r y | Pegar rectángulo |
| C-x r t | Reemplazar rectángulo con cadena |
| C-x r o | Insertar rectángulo en blanco |
Macros
| C-x ( | Iniciar grabación de macro |
| C-x ) | Detener grabación de macro |
| C-x e | Ejecutar última macro |
| C-u 10 C-x e | Ejecutar macro 10 veces |
| M-x name-last-kbd-macro | Nombrar macro para reutilizarla |
Shell y evaluación
| M-x shell | Abrir shell en buffer |
| M-x eshell | Shell de Emacs Lisp |
| M-! | Ejecutar comando shell |
| M-x eval-buffer | Evaluar todo el buffer como Elisp |
| C-x C-e | Evaluar expresión Elisp antes del punto |