Configuración Básica de Emacs con Org-mode: Guía Completa
Configuración Básica de Emacs con Org-mode: Guía Completa
Este documento es una guía extensa para configurar Emacs con Org-mode desde cero, optimizando tu productividad con una herramienta poderosa y flexible. Incluye gráficos, diagramas y un ejemplo básico de `org-capture`. Si eres nuevo en Emacs o quieres perfeccionar tu setup, ¡este es tu punto de partida!
1. Introducción a Emacs y Org-mode
Emacs es un editor de texto extensible y personalizable, mientras que Org-mode es un paquete integrado que transforma Emacs en un sistema de organización, toma de notas, gestión de proyectos y más. Juntos, forman una combinación imbatible para flujos de trabajo modernos.
¿Por qué usar Org-mode?
- Estructura jerárquica para notas y tareas.
- Integración con agendas, capturas rápidas y exportación (HTML, PDF, etc.).
- Código ejecutable en bloques fuente (literate programming).
Flujo de trabajo típico
Aquí hay un diagrama simple del flujo básico con Org-mode:
- Renderiza: Si tienes PlantUML instalado, usa `C-c C-c` en este bloque para generar `workflow.png`.
2. Instalación Básica de Emacs
Requisitos
- Sistema operativo: Linux, macOS o Windows (WSL recomendado en Windows).
- Espacio: ~50 MB para Emacs básico.
Instalación en Linux
# Ubuntu/Debian sudo apt update sudo apt install emacs # Verifica versión emacs --version
- Versión recomendada: 27.1 o superior (marzo 2025: 29.x probable).
Instalación en macOS
brew install emacs
3. Configuración Inicial de Emacs
Emacs usa un archivo de configuración en `~/.emacs.d/init.el`. Vamos a crear uno básico.
Estructura de directorios
Configuración mínima en init.el
;; Configuración básica de Emacs (setq inhibit-startup-message t) ; Sin pantalla de bienvenida (tool-bar-mode -1) ; Sin barra de herramientas (menu-bar-mode -1) ; Sin barra de menú (scroll-bar-mode -1) ; Sin barras de desplazamiento ;; Configuración de paquetes (require 'package) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t) (package-initialize) ;; Instalar use-package si no está presente (unless (package-installed-p 'use-package) (package-refresh-contents) (package-install 'use-package)) (require 'use-package) (setq use-package-always-ensure t) ; Descarga automática
- Ejecuta: Guarda esto en `~/.emacs.d/init.el` y reinicia Emacs (`C-x C-c` y vuelve a abrir).
4. Configuración de Org-mode
Org-mode viene integrado en Emacs, pero podemos mejorarlo con ajustes y paquetes adicionales.
Configuración básica de Org-mode
Añade esto a `init.el`:
;; Configuración de Org-mode (use-package org :config (setq org-startup-indented t) ; Indentación automática (setq org-directory "~/org") ; Directorio para archivos .org (setq org-default-notes-file "~/org/notes.org") ; Archivo por defecto (setq org-agenda-files '("~/org")) ; Archivos para agenda (global-set-key (kbd "C-c a") 'org-agenda) ; Atajo para agenda (global-set-key (kbd "C-c c") 'org-capture)) ; Atajo para captura
Directorios sugeridos
mkdir -p ~/org touch ~/org/notes.org
Estructura de Org-mode
5. Ejemplo Básico de Org-capture
`org-capture` te permite capturar ideas rápidamente sin interrumpir tu flujo. Configurémoslo.
Configuración de captura en init.el
Añade esto a tu `init.el`:
;; Configuración de org-capture (setq org-capture-templates '(("t" "Tarea" entry (file "~/org/notes.org") "* TODO %?\n %U\n %a") ("n" "Nota" entry (file "~/org/notes.org") "* %?\n %U\n %a")))
- Explicación:
- `"t"`: Plantilla para tareas (TODO).
- `"n"`: Plantilla para notas.
- `%?`: Cursor aquí tras capturar.
- `%U`: Fecha/hora de creación.
- `%a`: Enlace al contexto actual.
Uso de org-capture
- Presiona `C-c c`.
- Elige `t` (tarea) o `n` (nota).
- Escribe y finaliza con `C-c C-c`.
Ejemplo de captura
Imagina que estás trabajando y tienes una idea. Presionas `C-c c n`, escribes "Reunión con equipo", y el resultado en `~/org/notes.org` será:
- **Reunión con equipo** SCHEDULED: <2025-03-27 Thu 10:15> :PROPERTIES: :CATEGORY: REUNIÓN :END:
6. Personalización Adicional
Temas visuales
Instala un tema para mejorar la experiencia:
(use-package doom-themes :config (load-theme 'doom-one t))
Atajos útiles
(global-set-key (kbd "C-c l") 'org-store-link) ; Guardar enlace (global-set-key (kbd "C-c o") 'org-open-at-point) ; Abrir enlace
Exportación
Org-mode exporta a múltiples formatos. Prueba:
#+EXPORT_FILE_NAME: mi_documento.html
Crea un documento y usa `C-c C-e h o` para exportar a HTML y abrirlo.
7. Ejemplo Completo de Archivo Org
Aquí hay un archivo de ejemplo para `~/org/notes.org`:
#+BEGINSRC org :tangle ~/org/notes.org
Tareas
TODO Comprar víveres
DONE Configurar Emacs
Notas
Reunión con equipo
- Discutir proyecto Emacs.
- Planificar siguiente semana.
#+ENDSRC
8. Gráficos y Diagramas Avanzados
Diagrama de configuración completa
- Renderiza: `C-c C-c` para ver cómo fluye todo.
9. Consejos y Trucos
- Navegación: `C-c C-n` (siguiente encabezado), `C-c C-p` (anterior).
- Tareas: `C-c C-t` para cambiar estado (TODO/DONE).
- Agenda: `C-c a a` para vista semanal.
- Tangle: `C-c C-v t` para extraer código a archivos.
10. Conclusión
Con esta configuración básica, tienes un Emacs funcional con Org-mode listo para tomar notas, gestionar tareas y generar contenido. Personalízalo según tus necesidades y explora paquetes como `org-roam` o `org-static-blog` para más potencia. ¿Listo para empezar? Abre Emacs, aplica esta guía y captura tu primera idea con `C-c c`.