Referencia emacs

  • Cancelar comando: C-g
  • Deshacer: C– (M-x revert-buffer vuelve al ultimo (auto)guardado)
  • Rehacer: C-g C-x u (en teoria, tambien C-g C–)
  • Salir: C-x C-c

Ayuda

  • M-x apropos
  • Lista comandos (modo actual): M-x describe-mode

Desplazamiento

  • Ir a linea: M-g g #linea

Autocompletar: M-tab

Buscar / reemplazar

  • Buscar: C-s (adelante), C-r (atras) (repetir pulsacion para encontrar siguiente ocurrencia)
  • Reemplazar: M-% (usar y/n o ! en cada sustitución)
  • Buscar en ficheros: M-x [lgrep / rgrep / grep]

Ficheros

  • Guardar: C-x C-s

Regiones

  • Seleccionar todo el buffer: C-x h
  • Cortar: C-w
  • Copiar: M-w
  • Pegar: C-y

Buffers

  • Listado (“Buffer List”): C-x C-b
    • Marcar buffer para eliminar del listado: d
    • Marcar buffer para guardar: s
    • Completar operaciones pendientes: x
  • Cambio: C-x b
  • Cerrar: C-x k

Ventanas

  • Partir vertical: C-x 3
  • Partir horizontal: C-x 2
  • Cerrar: C-x 0
  • Cerrar todas las demás: C-x 1
  • Cambiar: C-x o

Modos

  • Cambiar: M-x nombre_modo

Código

  • Indentar: C-M-\ (o M-x indent-region)
  • Compilar: C-c C-u
  • Enviar a REPL: C-c C-j (linea), C-c C-r (region)
  • Etiquetas (tags)
    • Completar: M-tab

Ejecutar

  • Ejecutar comando: M-!
  • Abrir ELISP REPL: M-x ielm

Javascript: M-x js-mode

  • M-.: ir a símbolo (función)
  • Autocompletar: Setup Tern + Company-mode
  • Navegar funciones: xref-js2

Personalización simple: M-x customize

Guardar estado: cambiar desktop-save-mode a 1. Por defecto, debería usar el fichero .emacs-desktop del directorio actual (con lo cual basta cambiar de directorio para usar varios escritorios), pero parece que si no se define el path explicitamente no lo reconoce. Así pues, en ~/.emacs:

(setq desktop-path ‘(“./”))

Otra forma de usar rápidamente varios escritorios es con los “marcadores de escritorio

Dired, ImageDired

Orgmode (Manual, cheatsheet):

  • Despliegue nodos: Tab
  • Añadir nodo en mismo nivel: M-enter
  • Mover nodos: M-cursor (izquierda-derecha, arriba-abajo)
  • Crear enlace a fichero: C-u C-c C-l (se pueden incluir búsquedas en ficheros: [[file:~/ejemplo::/regexp]])
  • Abrir enlace: C-c C-o
  • Editar enlace: C-c C-l
  • Buscar en fichero actual: C-c /
  • Etiquetas: C-c C-q
  • Cambiar estado tarea: C-c C-t
  • Marcar checkbox: C-c C-c
  • Marcar checkbox en linea: C-c C-x C-b
  • Agenda: M-x org-agenda (normalmente se personaliza como C-c a)
    • Clock in: C-c C-x tab
    • Clock out: C-c C-x C-o
    • Informe: C-c C-x C-r
  • Búsqueda en agenda: C-c a / (texto libre), C-c a m (etiquetas). Permite expresiones como “+computer +wifi -ethernet -{8\.11[bg]}”
  • Babel
  • Capture
  • Tablas
    • Crear con “|”
    • Cambiar de campo, evaluar formula: tab
    • Fórmula en un campo: “:= …”
    • Recalcular tabla entera: C-u C-c C-c
  • Orgprotocol
  • Convertir a blog, Convertir con Jekyll (Octopress)

Pendientes de clasificación

Cambiar variable: M-x set-variable
Insertar caracter arbitrario: C-q caracter
Mostrar parentesis: M-x show-paren-mode (o  (show-paren-mode 1) en .emacs)
Repetir comando: C-x z (cada z vuelve a repetir)

* Edición
Cambiar mayusculas / minusculas: M-u (mayusculas), M-l (minusculas), M-c (inicial a mayuscula). Regiones: C-x C-l, C-x C-u
Unir linea actual con anterior: M-^ (puede ser necesario pulsar dos veces "^")
Nueva linea indentada: C-j
Nueva linea comentada: M-j

* UTF / Unicode
C-x 8 Enter Point/Name

* Macros de teclado
Comenzar grabación: C-x (
Terminar: C-x )
Ejecutar: C-x e e e e...

“Extensiones” interesantes

html-mode

C-c 1..5 insertar h1..h5
C-c / insertar etiqueta de cierre
C-c izq / dcha Desplazarse a la etiqueta correspondiente

Un comentario en “Referencia emacs”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *