1 puntos por GN⁺ 2025-11-17 | 1 comentarios | Compartir por WhatsApp
  • 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

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)
  • 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
  • Dependencias opcionales
    • grep, locate o plocate
  • Procedimiento de instalación
    1. Clonar el repositorio
      git clone https://codeberg.org/IDEmacs/IDEmacs
      
    2. Ejecutar Emacs con conexión a Internet
      emacs --init-directory=/path/to/IDEmacs/vscode
      
    • Al ejecutarlo, descarga automáticamente los paquetes de Emacs necesarios

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

 
GN⁺ 2025-11-17
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

    • La UX de VSCode resulta familiar
      Á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
    • Las herramientas profesionales (IDEs, DAWs, editores de video, etc.) inevitablemente tienen complejidad
      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
    • Yo también uso Emacs todos los días, pero VSCode me parece estridente y tosco
      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
    • Como alguien que usó Emacs durante un año y luego lo dejó, creo que la interoperabilidad es mucho más importante
      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
    • Sobre la idea de que las ventanas emergentes y la barra lateral de VSCode son pesadas, para alguien con experiencia en IDE pesados como Eclipse quizá incluso resulte familiar
      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”

    • Aun así, cuesta considerar Emacs Lisp como un lenguaje funcional
      La mayoría de sus estructuras de datos son mutables y abundan funciones imperativas como setq
  • Me 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

    • Incluso hace 15 años, cuando usaba Emacs en la universidad, ya se sentía bastante fluido
      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

    • Yo también estuve revisando los paquetes de la página de idemacs, y el nombre “minimap” me llamó especialmente la atenció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

    • Yo opino justo lo contrario
      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
    • No es exactamente lo mismo, pero vale la pena mirar Lem, basado en Common Lisp
      Corre sobre curses/SDL2 y hereda el estilo de Emacs
    • Probablemente te refieres a which-key
      Antes era un paquete externo, pero recientemente se integró al núcleo de Emacs
      Enlace al commit relacionado
    • Yo quisiera mantener la UI actual tanto como sea posible
      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

    • OniVim separó la funcionalidad central de vim en una librería aparte llamada libvim
      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
    • Pero su público objetivo era ambiguo
      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

    • Los usuarios de VSCode trabajan sobre todo centrados en el mouse, pero la fortaleza de Emacs está en poder modificar esa máquina Lisp como uno quiera
    • Yo también llevo más de 15 años usando Emacs y operándolo totalmente con teclado
      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

    • Hay dos enfoques
      1. Ejecutar Emacs en local y editar archivos remotos con Tramp
      2. Ejecutar Emacs en modo terminal (-nw) en el servidor remoto