1 pontos por GN⁺ 2025-11-17 | 1 comentários | Compartilhar no WhatsApp
  • Configuração do ambiente Emacs no estilo de uma IDE mainstream para que até iniciantes possam usar imediatamente
  • Reproduz no Emacs recursos principais como tema do VSCode, explorador, abas, múltiplos cursores e autocompletar
  • Suporte padrão a GUI e uso com mouse, com possibilidade de configuração pela interface custom
  • Oferece um ambiente de edição completo tanto para desenvolvedores Lisp (Sly/Geiser) quanto para não programadores
  • Reduz a barreira de entrada tradicional do Emacs e oferece um ponto de partida fácil para novos usuários se adaptarem

Visão geral do IDEmacs

  • O IDEmacs é um conjunto de configurações que permite usar o Emacs como uma IDE com GUI, semelhante ao Visual Studio Code ou Sublime Text
    • Mantém os recursos poderosos do Emacs, mas oferece uma interface familiar para iniciantes
  • O público principal é dividido em três grupos
    • Programadores vindos de outras IDEs ou usuários que estão aprendendo a programar pela primeira vez
    • Iniciantes em Common Lisp e Scheme (inclui Sly/Geiser e recursos de edição estrutural)
    • Não programadores que querem editar documentos em Org, Markdown e LaTeX
  • O objetivo é reduzir a barreira de entrada, oferecendo um ambiente pronto para uso imediato a quem estranha a experiência padrão do Emacs

Principais características

  • Suporte a GUI e mouse
    • Ao contrário da maioria dos starter kits, não esconde elementos da GUI
    • Suporta configuração pela GUI custom (sem necessidade de editar Elisp diretamente)
  • Atalhos no estilo IDE
    • Baseado no modo CUA, reproduz amplamente atalhos usados no VSCode e afins
    • Diferente de Spacemacs e Doom, que usam o modo Evil, a interação é centrada na GUI
  • Configuração no nível de uma distribuição completa do Emacs
    • Ambiente rápido e sem necessidade de ajustes iniciais
    • Composto por código Elisp amplamente comentado, que também pode servir como material de estudo
  • O nível de objetivo não é uma cópia perfeita, mas sim oferecer uma experiência “parecida o suficiente”

Configuração do VSCode (em andamento)

  • Atualmente é a única configuração de IDE disponível
  • Elementos incluídos
    • Tema VSCode Dark Plus
    • Explorador de arquivos lateral Treemacs
    • Barra de abas Centaur Tabs
    • Exibição de caminho de arquivo com breadcrumb
    • Destaque automático de símbolos com idle-highlight-mode
    • Implementa a maior parte dos atalhos de “General”, “Basic Editing”, “Rich Languages Editing” e “Multi-cursor” do VSCode
  • Principais pacotes
    • Edição: whole-line-or-region, expand-region, multiple-cursors, smartparens
    • Controle de versão: vc, magit, diff-hl, blamer
    • Autocompletar: Vertico, orderless, Consult, marginalia, company
    • Desenvolvimento Lisp: sly, geiser, adjust-parens
    • Outros: eat (terminal), org-superstar, pdf-tools, undo-tree, helpful, rainbow-mode
    • A organização do código é gerenciada com use-package

Configuração de atalhos

  • Mapeia os atalhos do VSCode para comandos do Emacs
    • Ex.:
      • C-S-p → paleta de comandos (execute-extended-command)
      • C-p → abrir arquivo (consult-locate)
      • C-S-n → nova janela (make-frame)
      • C-w → fechar janela (idemacs-kill-buffer-noprompt)
      • C-, → configurações do usuário (customize)
  • Define comandos correspondentes por categoria, como edição básica, múltiplos cursores, navegação, gerenciamento de arquivos e controle de exibição
  • Alguns atalhos ainda se comportam de forma diferente do VSCode e estão marcados como TODO

Participação e pedido de contribuição

  • O projeto pede aos usuários que forneçam feedback após usar o IDEmacs
    • Compartilhar observações sobre iniciantes, opiniões via Jabber/XMPP ou pelo issue tracker
  • Para desenvolvedores, recomenda-se participar melhorando o código e expandindo recursos

Projeto relacionado

  • Mousemacs (GitHub: seamus-brady/mousemacs)
    • Uma distribuição que faz o Emacs funcionar como o Sublime Text ou o VSCode
    • Foi criada para aprendizado de Lisp e oferece uma interface amigável ao mouse
    • Mantém todos os recursos do Emacs com um tema simples

Como instalar e executar

  • Dependências obrigatórias
    • Emacs 29 ou superior, git, fonte DejaVu Sans Mono
  • Dependências opcionais
    • grep, locate ou plocate
  • Procedimento de instalação
    1. Clonar o repositório
      git clone https://codeberg.org/IDEmacs/IDEmacs
      
    2. Executar o Emacs com conexão à internet
      emacs --init-directory=/path/to/IDEmacs/vscode
      
    • Na execução, os pacotes necessários do Emacs são baixados automaticamente

Outros

  • No momento, além da configuração do VSCode, não há outros estilos de IDE disponíveis
  • Menciona a possibilidade de novas implementações de GUI no futuro, se houver recursos
  • Não há informações adicionais no texto original

1 comentários

 
GN⁺ 2025-11-17
Comentários do Hacker News
  • As pessoas que acham o VSCode fácil precisam de um choque de realidade
    Na primeira execução, ele dá uma sensação de sobrecarga com pop-ups, barra lateral, tooltips e afins
    Também sou usuário de Emacs, mas não vou dizer que o Emacs é intuitivo
    Só que o VSCode também não é uma ferramenta magicamente fácil; ele é apenas uma opção popular

    • A UX do VSCode é familiar
      Árvore de arquivos, editor, terminal, conclusão com tab e instalação de extensões costumam cobrir quase todo o escopo de interação da maioria dos usuários
      Se algo não vem por padrão ou não pode ser adicionado facilmente por extensão, a maioria simplesmente não usa
    • Ferramentas profissionais (IDEs, DAWs, editores de vídeo etc.) inevitavelmente têm complexidade
      Mas o nível de complexidade do VSCode não se compara ao do vim ou do Emacs
      Com um tutorial curto ou uns 30 minutos mexendo, já dá para se acostumar
      Já o neovim exigiu literalmente um livro inteiro
    • Também uso Emacs todo dia, mas o VSCode me parece agressivo e áspero
      Tentei o RustRover recentemente e foi difícil chegar à configuração que eu queria só clicando
      Isso me fez sentir que a suposta “facilidade” das IDEs pode ser mais ilusória do que parece
    • Como alguém que usou Emacs por um ano e depois desistiu, acho que interoperabilidade é muito mais importante
      Há muitas ferramentas que oferecem interfaces comuns, como seletor de arquivos padrão ou atalhos CUA
      Por isso hoje estou mais satisfeito usando alternativas como Zim-wiki em vez de Emacs
    • Sobre a opinião de que os pop-ups e a barra lateral do VSCode pesam demais, para quem já vem de IDEs pesadas como Eclipse isso pode até parecer familiar
      Já quem trabalhou principalmente com tmux, vi, nano ou emacs pode estranhar bastante
  • O Emacs não é apenas uma IDE, mas uma ferramenta de filosofia e liberdade
    Há muitos projetos focados em casos de uso centrados em programação, mas no VSCode já dá para reproduzir 75% disso com keybindings de Emacs
    A essência do Emacs está nessa abordagem de te dar uma “caixa de peças” para você mesmo montar
    É como uma “arma elegante para uma era mais civilizada”

    • Dito isso, Emacs Lisp dificilmente pode ser considerado uma linguagem funcional
      A maioria das estruturas de dados é mutável, e há muitas funções imperativas como setq
  • Fico em dúvida se layouts de janela fixos realmente funcionam bem no Emacs
    Quando tentei isso no passado, o painel do Treemacs às vezes mostrava buffers de código em vez do visualizador de arquivos

  • Recentemente ficou bem mais fácil configurar o Emacs como IDE
    Graças ao eglot embutido, hoje é preciso muito menos código elisp do que antes, e a configuração de Python pode caber em uma linha
    Por isso, projetos assim parecem mais um portal de entrada para iniciantes do que algo voltado a usuários antigos como eu

    • Quando usei Emacs na faculdade, 15 anos atrás, ele já era bem fluido
      Dava para integrar REPL de OCaml, emulador 68000 e gdb sem grandes configurações
      Depois migrei para vim por causa de ambientes em servidores remotos, mas ao testar Emacs de novo recentemente percebi que o gerenciamento de pacotes ficou muito mais refinado
      Ainda assim, as ferramentas de DevOps/SRE continuam deixando a desejar
  • Gosto de projetos de pacotes empacotados como Spacemacs e Doom
    Não uso diretamente, mas eles me ajudam a descobrir pacotes novos e me dão uma desculpa para mexer na configuração de novo

    • Também dei uma olhada nos pacotes da página do idemacs, e o nome minimap me chamou especialmente a atenção
      É um nome simples, mas tão certeiro para o propósito que me fez sorrir
  • Gostaria que existisse um projeto para reconstruir a UI do Emacs de forma moderna
    Mantendo o núcleo intacto, mas com uma interface visualmente mais distinta e menos cansativa para os olhos
    Também gostava daquele recurso de editores antigos baseados em Lisp em que, ao pressionar Ctrl, apareciam dicas dos atalhos

    • Na verdade, penso o contrário
      A UI está ok; o problema mais urgente é a arquitetura de thread única e os travamentos frequentes
      A realidade de ter que apertar C-g uma vez por dia precisa melhorar
    • Não é exatamente a mesma coisa, mas vale olhar o Lem, baseado em Common Lisp
      Ele roda sobre curses/SDL2 e herda o estilo do Emacs
    • Acho que você está falando do which-key
      Antes era um pacote externo, mas recentemente foi integrado ao próprio Emacs
      Link do commit relacionado
    • Eu gostaria de manter a UI atual o máximo possível
      O fato de ela funcionar com a mesma aparência tanto em ambiente gráfico quanto no terminal é uma grande vantagem
      Gosto especialmente de como o Treemacs fica igual em qualquer lugar
  • É uma pena que o OniVim v2 não tenha dado certo
    Era uma IDE nativa e ao mesmo tempo oferecia suporte completo ao sistema de plugins do VSCode
    Link do arquivo do OniVim v2

    • O OniVim separou os recursos centrais do vim em uma biblioteca independente chamada libvim
      Isso teria sido útil também para outros desenvolvedores de frontends GUI
      O Neovim se comunica por RPC, mas o desempenho ainda é rápido o suficiente
      O plugin de Neovim para VSCode também consegue oferecer uma experiência completa de vim graças a essa arquitetura
    • Mas o público-alvo era ambíguo
      Usuários de Vim reclamariam da latência de entrada baseada em Electron e da EULA, enquanto usuários de VSCode não têm interesse em Vim
  • Uso Emacs há mais de 25 anos, e a primeira coisa que faço numa instalação nova é desativar elementos de GUI
    Não uso menus nem barra de ferramentas de jeito nenhum

    • Usuários de VSCode trabalham de forma especialmente centrada no mouse, mas a força do Emacs está em poder modificar a máquina Lisp do jeito que você quiser
    • Também uso Emacs há mais de 15 anos e opero tudo exclusivamente pelo teclado
      Mas meu orientador usava o Emacs padrão com o mouse para trabalhar com LaTeX, e isso foi uma experiência bem curiosa
  • Vou continuar usando Doom Emacs, mas fico feliz com tentativas como esta
    O Emacs tem muitos plugins de UI inovadores como o Vertico, mas a experiência padrão ainda deixa a desejar
    Se projetos assim tornarem o Emacs mais acessível para mais gente, isso é ótimo

  • Uso Emacs há mais de 15 anos, e meu único desejo é um modo cliente-servidor que permita edição remota como no VSCode
    Seria ótimo ter uma solução que funcione bem mesmo em ambientes com alta latência
    Se não existir, estou pensando em fazer eu mesmo
    Ainda assim, a integração de Python do VSCode é bem decente

    • Existem duas abordagens
      1. rodar o Emacs localmente e editar arquivos remotos com Tramp
      2. rodar o Emacs em modo terminal (-nw) no servidor remoto