- Configura el entorno de Emacs como un IDE convencional para que incluso principiantes puedan usarlo de inmediato
- Recrea en Emacs funciones clave como el tema de VSCode, explorador, pestañas, multicursor y autocompletado
- Incluye soporte predeterminado para GUI y uso con mouse, y permite configurarlo desde la interfaz
custom - Ofrece un entorno de edición completo tanto para desarrolladores de Lisp (Sly/Geiser) como para personas no programadoras
- Reduce la barrera de entrada de Emacs y ofrece un punto de partida para que nuevos usuarios se adapten con facilidad
Resumen de IDEmacs
- IDEmacs es un conjunto de configuración que permite usar Emacs como un IDE gráfico al estilo de Visual Studio Code o Sublime Text
- Mantiene la potencia de Emacs, pero ofrece una interfaz familiar para principiantes
- Sus principales públicos objetivo son estos tres grupos
- Programadores que vienen de otros IDE o usuarios que están aprendiendo a programar por primera vez
- Principiantes de Common Lisp y Scheme (incluye Sly/Geiser y funciones de edición estructural)
- Personas no programadoras que quieren editar documentos en Org, Markdown y LaTeX
- Su objetivo es reducir la barrera de entrada al ofrecer un entorno listo para usar a quienes encuentran extraña la experiencia predeterminada de Emacs
Características principales
- Soporte para GUI y mouse
- A diferencia de la mayoría de los starter kits, no oculta los elementos de la GUI
- Permite configuración mediante la GUI de
custom(sin necesidad de editar Elisp directamente)
- Atajos de teclado estilo IDE
- Basado en el modo CUA, recrea ampliamente atajos usados en VSCode y otros entornos
- A diferencia de Spacemacs o Doom, que usan el modo
Evil, prioriza una interacción centrada en la GUI
- Configuración al nivel de una distribución completa de Emacs
- Entorno rápido y sin necesidad de ajustes iniciales
- Está compuesto por código Elisp abundantemente comentado, por lo que también puede servir como material de aprendizaje
- El nivel de objetivo no es una imitación perfecta, sino ofrecer una experiencia “lo suficientemente parecida”
Configuración de VSCode (en progreso)
- Es la única configuración de IDE disponible actualmente
- Elementos incluidos
- Tema VSCode Dark Plus
- Explorador de archivos lateral de Treemacs
- Barra de pestañas Centaur Tabs
- Visualización de ruta de archivo mediante breadcrumb
- Resaltado automático de símbolos con idle-highlight-mode
- Implementa la mayoría de los atajos de VSCode de “General”, “Basic Editing”, “Rich Languages Editing” y “Multi-cursor”
- Paquetes principales
- Edición:
whole-line-or-region,expand-region,multiple-cursors,smartparens - Control de versiones:
vc,magit,diff-hl,blamer - Autocompletado:
Vertico,orderless,Consult,marginalia,company - Desarrollo Lisp:
sly,geiser,adjust-parens - Otros:
eat(terminal),org-superstar,pdf-tools,undo-tree,helpful,rainbow-mode - La organización del código se gestiona con
use-package
- Edición:
Configuración de atajos de teclado
- Mapea los atajos de VSCode a comandos de Emacs
- Ejemplos:
C-S-p→ paleta de comandos (execute-extended-command)C-p→ abrir archivo (consult-locate)C-S-n→ nueva ventana (make-frame)C-w→ cerrar ventana (idemacs-kill-buffer-noprompt)C-,→ preferencias de usuario (customize)
- Ejemplos:
- Define comandos correspondientes por categorías detalladas como edición básica, multicursor, navegación, gestión de archivos y control de visualización
- Algunos atajos funcionan de manera distinta a VSCode y están marcados como TODO
Solicitud de participación y contribuciones
- Se pide a los usuarios que compartan retroalimentación tras usar IDEmacs
- Observar a principiantes al usarlo y compartir opiniones por Jabber/XMPP o mediante el rastreador de issues
- También se anima a desarrolladores a participar en la mejora del código y la expansión de funciones
Proyectos relacionados
- Mousemacs (GitHub: seamus-brady/mousemacs)
- Una distribución que hace que Emacs funcione como Sublime Text o VSCode
- Fue creada para aprender Lisp y ofrece una interfaz amigable con el mouse
- Mantiene todas las funciones de Emacs junto con un tema sencillo
Instalación y ejecución
- Dependencias obligatorias
- Emacs 29 o superior,
git, fuente DejaVu Sans Mono
- Emacs 29 o superior,
- Dependencias opcionales
grep,locateoplocate
- Procedimiento de instalación
- Clonar el repositorio
git clone https://codeberg.org/IDEmacs/IDEmacs - Ejecutar Emacs con conexión a Internet
emacs --init-directory=/path/to/IDEmacs/vscode
- Al ejecutarlo, descarga automáticamente los paquetes de Emacs necesarios
- Clonar el repositorio
Otros
- Actualmente no se ofrecen otros estilos de IDE aparte de la configuración de VSCode
- Se menciona la posibilidad de implementar una nueva GUI en el futuro si los recursos lo permiten
- No hay información adicional en el texto original
1 comentarios
Comentarios de Hacker News
Quienes piensan que VSCode es fácil necesitan una dosis de realidad
Al abrirlo por primera vez, se siente abrumador con sus ventanas emergentes, barra lateral, tooltips y demás
Yo también uso Emacs, pero no voy a decir que Emacs sea intuitivo
Solo que VSCode tampoco es una herramienta mágicamente fácil, simplemente es una opción popular
Árbol de archivos, editor, terminal, autocompletado con tab e instalación de extensiones: ese suele ser el alcance de interacción para la mayoría de usuarios
Si no viene por defecto o no se agrega fácilmente con una extensión, la mayoría simplemente no lo usa
Pero el nivel de complejidad de VSCode no se compara con el de vim o Emacs
Con un tutorial corto o media hora probándolo, basta para acostumbrarse
En cambio, para neovim sí hizo falta prácticamente un libro entero
Hace poco probé RustRover y me costó lograr la configuración que quería solo dando clics
Me hizo sentir que la supuesta “facilidad” de los IDE puede ser más ilusoria de lo que parece
Hay muchas herramientas que soportan interfaces comunes, como el selector de archivos estándar o atajos CUA
Por eso ahora uso alternativas como Zim-wiki en lugar de Emacs y estoy más satisfecho
En cambio, para quienes han trabajado principalmente con tmux, vi, nano o emacs, puede ser desconcertante
Emacs no es un simple IDE, sino una herramienta con filosofía y libertad
Hay muchos proyectos enfocados en casos de uso centrados en programación, pero en VSCode también puedes replicar un 75% con keybindings de Emacs
La esencia de Emacs está en darte una “caja de piezas” para que armes tu propio entorno
Es como un “arma elegante de una época más civilizada”
La mayoría de sus estructuras de datos son mutables y abundan funciones imperativas como
setqMe pregunto si un layout de ventanas fijo en Emacs realmente funciona bien
Cuando lo intenté hace tiempo, el panel de Treemacs a veces mostraba buffers de código en vez del visor de archivos
Últimamente se volvió mucho más fácil configurar Emacs como IDE
Gracias a eglot integrado, ahora hace falta mucho menos código elisp que antes, y la configuración de Python puede resolverse con una sola línea
Por eso, proyectos como este se sienten más como una puerta de entrada para principiantes que algo pensado para usuarios como yo
Se podía integrar el REPL de OCaml, un emulador 68000 y gdb sin demasiada configuración
Después me pasé a vim por entornos de servidores remotos, pero recientemente volví a probar Emacs y la gestión de paquetes estaba mucho más pulida
Aun así, el tooling relacionado con DevOps/SRE sigue quedándose corto
Me gustan los proyectos que agrupan paquetes como Spacemacs o Doom
No los uso directamente, pero me ayudan a descubrir paquetes nuevos y me dan una excusa para volver a tocar mi configuración
Es simple, pero describe perfectamente su propósito, y me sacó una sonrisa
Ojalá existiera un proyecto para reconstruir la UI de Emacs en clave moderna
Manteniendo intacto el núcleo, pero con una interfaz visualmente más clara y menos cansada para la vista
También me gustaba esa función de algunos editores Lisp antiguos donde al presionar Ctrl aparecían sugerencias de atajos
La UI está bien; el problema más urgente es la arquitectura de un solo hilo y los frecuentes cuelgues momentáneos
Habría que mejorar esa realidad de tener que presionar C-g al menos una vez al día
Corre sobre curses/SDL2 y hereda el estilo de Emacs
Antes era un paquete externo, pero recientemente se integró al núcleo de Emacs
Enlace al commit relacionado
Una gran ventaja es que se ve igual tanto en entorno gráfico como en terminal
Me gusta especialmente que Treemacs se vea igual en cualquier parte
Es una lástima que OniVim v2 no haya tenido éxito
Era un IDE nativo y además soportaba por completo el sistema de plugins de VSCode
Enlace al archivo de OniVim v2
Habría sido útil también para otros desarrolladores de frontends GUI
Neovim se comunica por RPC, pero el rendimiento sigue siendo suficientemente rápido
Gracias a esa arquitectura, el plugin de Neovim para VSCode también ofrece una experiencia vim completa
A los usuarios de Vim les molestaría la latencia de entrada por estar basado en Electron y el EULA, y a los usuarios de VSCode no les interesa Vim
Llevo más de 25 años usando Emacs, y lo primero que hago en una instalación nueva es desactivar los elementos de GUI
No uso para nada los menús ni la barra de herramientas
Pero mi asesor usaba Emacs base con mouse para trabajar en LaTeX, y fue una experiencia bastante refrescante
Voy a seguir usando Doom Emacs, pero este tipo de intentos son bienvenidos
Emacs tiene muchos plugins de UI innovadores como Vertico, pero la experiencia base sigue siendo limitada
Si proyectos así logran hacer que Emacs sea más accesible para más gente, eso es algo positivo
Llevo más de 15 años usando Emacs, y mi único deseo es un modo cliente-servidor para edición remota como el de VSCode
Ojalá hubiera una solución que funcionara bien incluso en entornos con alta latencia
Si no existe, estoy pensando en hacerla yo mismo
Aun así, la integración de Python en VSCode está bastante bien
-nw) en el servidor remoto