Estas son mis configuraciones personalizadas basadas en Emacs Prelude de Bozhidar Batsov.
- Descripción General
- Módulos Habilitados
- Configuraciones Personalizadas
- Atajos de Teclado
- Instalación
- Restauración
- Requisitos
Esta configuración incluye mejoras enfocadas en desarrollo con IA (GPTel + Ollama), LSP mejorado, soporte para múltiples lenguajes de programación y productividad con org-mode.
- IA local simunlando a Copilot integrado: Generación y refactorización de código con Ollama
- LSP mejorado: Panel lateral con navegación de símbolos
- Múltiples lenguajes: Java, Python, JavaScript, C, Shell, y más
- Productividad: Vertico, Company, Org-mode
- ✅
prelude-vertico- Sistema moderno de completado - ✅
prelude-company- Autocompletado inteligente - ✅
prelude-key-chord- Combinaciones de teclas útiles - ✅
prelude-org- Gestión de tareas y notas
- ✅
prelude-c- Desarrollo en C - ✅
prelude-css- CSS - ✅
prelude-emacs-lisp- Elisp - ✅
prelude-js- JavaScript - ✅
prelude-lisp- Lenguajes tipo Lisp - ✅
prelude-lsp- Language Server Protocol - ✅
prelude-perl- Perl - ✅
prelude-python- Python - ✅
prelude-shell- Scripts de shell - ✅
prelude-web- Desarrollo web - ✅
prelude-xml- XML - ✅
prelude-yaml- YAML
- ✅
prelude-erc- Cliente IRC
Integración con modelos de IA locales usando Ollama.
(setq gptel-backend
(gptel-make-ollama "Ollama"
:host "localhost:11434"
:models '("llama3" "qwen2.5-coder")))Modelos disponibles:
llama3- Modelo generalqwen2.5-coder- Especializado en código
Sistema tipo GitHub Copilot para generar y refactorizar código.
- ✅ Generación de código desde comentarios
- ✅ Refactorización inteligente con IA
- ✅ Sin bloques markdown en las respuestas
- ✅ Soporte multilenguaje automático
- ✅ Nombres en español para variables
Java, Python, Rust, JavaScript, TypeScript, C, C++, Emacs Lisp, C#
Panel de navegación lateral con estructura del código usando imenu-list.
(setq imenu-list-focus-after-activation t)
(setq imenu-list-auto-resize t)
(setq imenu-list-position 'right)Activación automática de LSP para proyectos Java.
(add-hook 'java-mode-hook #'lsp-deferred)- Fondo transparente habilitado
- Paquete
sublime-themesinstalado
| Atajo | Función | Descripción |
|---|---|---|
C-c q |
gptel |
Abrir chat con IA |
C-c w |
my/gptel-smart-send |
Generar código: Selecciona un comentario → genera código debajo |
C-c y |
my/gptel-smart-refactor |
Refactorizar: Selecciona código → describe cambio → reemplaza |
| Atajo | Función | Descripción |
|---|---|---|
C-c l |
imenu-list-smart-toggle |
Toggle panel lateral de símbolos |
-
Escribe un comentario con lo que necesitas:
// metodo que suma dos numeros -
Selecciona el comentario completo
-
Presiona
C-c w -
El código se genera automáticamente debajo:
// metodo que suma dos numeros public int sumar(int a, int b) { return a + b; }
-
Selecciona el bloque de código
-
Presiona
C-c y -
Escribe la transformación deseada:
- "añade validación de null"
- "convierte a programación funcional"
- "optimiza el rendimiento"
- "agrega manejo de errores"
-
El código se reemplaza automáticamente
# Backup de configuración actual (si existe)
mv ~/.emacs.d ~/.emacs.d.backup
mv ~/.emacs ~/.emacs.backup
# Clonar Prelude
git clone https://github.com/bbatsov/prelude.git ~/.emacs.d
# Primera ejecución (instalará paquetes base)
emacscd ~/.emacs.d
git clone https://github.com/TU_USUARIO/TU_REPO.git personal-temp
mv personal-temp/* personal/
rm -rf personal-temp# En Linux
curl -fsSL https://ollama.com/install.sh | sh
# Descargar modelos
ollama pull llama3
ollama pull qwen2.5-coder
# Iniciar servicio
ollama serveemacsLos paquetes adicionales (gptel, imenu-list, etc.) se instalarán automáticamente.
# 1. Eliminar configuración actual
rm -rf ~/.emacs.d
# 2. Reinstalar Prelude
git clone https://github.com/bbatsov/prelude.git ~/.emacs.d
# 3. Clonar tus configuraciones personales
cd ~/.emacs.d
git clone https://github.com/TU_USUARIO/TU_REPO.git personal-temp
mv personal-temp/* personal/
rm -rf personal-temp
# 4. Iniciar Emacs
emacs~/.emacs.d/
├── personal/
│ ├── custom.el # Tema y personalizaciones visuales
│ ├── gptel-conf.el # Configuración base GPTel
│ ├── gptel-copilot.el # IA Copilot (C-c w, C-c y)
│ ├── lsp-panel.el # Panel lateral LSP (C-c l)
│ ├── modulo-personalizado-java.el # LSP para Java
│ ├── ollama.el # Integración con Ollama
│ ├── prelude-modules.el # Módulos habilitados
│ └── .dir-locals.el # Configuración local de directorio
└── [resto de archivos de Prelude]
- Emacs 29.1+ (recomendado)
- Git
- Ollama - Para usar IA local (
C-c q,C-c w,C-c y) - Java JDK 11+ y jdtls - Para LSP de Java
- Python 3.8+ y pyright - Para LSP de Python
- Node.js y typescript-language-server - Para JavaScript/TypeScript
# Java
# Descargar jdtls desde: https://download.eclipse.org/jdtls/snapshots/
# Extraer en ~/.emacs.d/eclipse.jdt.ls/
# Python
pip install pyright
# JavaScript/TypeScript
npm install -g typescript-language-server typescriptSi no quieres usar Ollama, simplemente comenta o elimina:
personal/ollama.elpersonal/gptel-conf.elpersonal/gptel-copilot.el
Edita personal/custom.el:
;; Descomentar y elegir variante de Gruvbox
(load-theme 'gruvbox-dark-medium t)
;; O usar sublime-themes (actual)
(prelude-require-package 'sublime-themes)
(load-theme 'spolsky t) ; u otro tema de sublimeEdita personal/prelude-modules.el y descomenta los módulos que necesites:
(require 'prelude-go) ;; Para Go
(require 'prelude-rust) ;; Para Rust
(require 'prelude-ruby) ;; Para RubyEste es mi setup personal, pero si encuentras mejoras o tienes sugerencias, ¡son bienvenidas!
Estas configuraciones son de código abierto. Emacs Prelude está bajo GPL v3.
Última actualización: Diciembre 2025