Porque migrei para o Doom Emacs? #
Resolvi montar este blog como hobby para falar sobre as coisas que ando fazendo no computador. Uma delas é que, recentemente, descobri uma ferramenta que mudou totalmente meu workflow no Linux: o DOOM EMACS.
Para muitos gente que usa linux a palavra Emacs é familiar. Eu, particularmente, sempre quis me aventurar nele, mas nunca tive tempo para configurar tudo — vide os tantos de memes sobre pessoas se perdendo no “buraco negro” do Emacs no Reddit.
Como isso aqui:
Emacs made me lose my wife
byu/Murky_Sprinkles_4194 inemacs
Bem, como fui administrador de sistemas por uns anos, aprendi a lidar com o Vim e, posteriormente, adotei o Neovim como meu editor de texto principal. No entanto, o uso ficava limitado a editar scripts e textos rápidos pelo terminal.
Em 2023, lendo e vendo vídeos sobre Neovim, vi a comunidade comentar sobre uma nova distro chamada LazyVim. Instalei e aprovei, adotando-o como meu IDE. Por insistência de um amigo desenvolvedor Java, eu ainda usava o famigerado VS Code para tarefas que envolviam Python, Bash, Terraform e afins. Mas, como todo bom software feito em Electron (também conhecido como: o mal na terra), ele estava consumindo quase toda minha memória RAM.
Larguei mão do VS Code e me aprofundei no LazyVim. Foi relativamente tranquilo me adaptar; o mais chato foi o TEMIDO H J K L, mas, depois de alguma insistência, peguei o jeito.
Então, cá estamos no final de 2025. Pesquisando sobre como melhorar meu workflow no Linux, caí no rabbit hole do Emacs, chegando, finalmente, ao Doom. Posso dizer: a melhor coisa que fiz foi migrar para lá! Lendo e estudando sobre, descobri as killer features do Emacs:
- Org Mode com Roam: Definitivamente a melhor coisa do Emacs. Eu já usava algo para documentar minhas coisas no Nvim, um plugin chamado Wikivim, que funcionava bem, mas exigia tempo para organizar. O Org Mode me apresentou o método Zettelkasten e, novamente, tive um mind blow. Agora, anoto tudo lá.
- Magit: Com toda certeza (e quem discordar está errado!), é a melhor interface para o Git: rápido e eficiente.
- Org Agenda: Eu o uso de maneira simples, apenas para organizar meu dia com uso de TODOs e checkboxes. Simplesmente funciona.
- Evil Mode: Ele emula os modos e atalhos do Vim. Digo até que funciona melhor. Como eu já estava habituado, a mudança foi mais simples ainda.
Como falei anteriormente, algumas features do Emacs são extremamente boas. Vou citar algumas delas com mais detalhes:
Magit #
Eu sempre usei Git via terminal e sempre funcionou bem, nada a reclamar, até a hora que usei o Magit. E, novamente, simplesmente funcionou. Com ele, você consegue ver status, histórico, hunks e afins de forma visual dentro do Emacs. Claro que isso não substitui o terminal, pois é sempre bom usar e dominar a linha de comando.
Org Mode com Roam #
Talvez seja o santo graal do Emacs. Eu acabei “caindo” no Emacs quando precisava de uma ferramenta robusta para anotar e documentar minhas coisas. Eu usei o WikiVim por um tempo, mas como ele era estruturado hierarquicamente, chegava uma hora que ficava complexo e trabalhoso manter a organização o tempo todo.
Então, descobri o Roam, que é um plugin para o Org Mode que adiciona o método Zettelkasten. Esse método exige que você ligue ideias, e não apenas as armazene em pastas. Isso cria toda uma rede neural que, com o tempo, vai se organizando e se mostrando extremamente eficiente. Agora, quando vou anotar algo sobre DevOps, posso facilmente linkar esse tópico a uma nota sobre Linux, e isso vai criando uma malha de conhecimento.
Algumas outras ferramentas que uso #
Para finalizar, existem outros três recursos que eu também uso e que valem a pena comentar:
Org Agenda (TODO e Checkbox) #
A agenda é onde faço meus TODOs. Eu não a uso de forma complexa, mas como um painel central que me mostra o que preciso fazer hoje, amanhã ou em algum dia que especifico. Uso tags e checkboxes para organizar as tarefas.
Templates do Org Capture #
O Capture é uma espécie de template que você cria para não ter que repetir um modelo toda vez que vai anotar algo. Você usa Elisp (que é o Lisp do Emacs) para criar o template. Ao adicionar um atalho de teclado personalizado, eu abro um pequeno pop-up que usa templates pré-definidos para salvar a informação no lugar certo. É a maneira mais rápida que conheço para tirar algo da cabeça e salvar em algum local para consultar depois.
Org Babel #
O Babel, tal como a Torre de Babel, é uma ferramenta muito boa para quem trabalha com código. Ele permite executar códigos dentro dos arquivos .org. Isso significa que posso ter uma documentação em Org Mode, e o código Bash, Python ou SQL dentro dessa documentação é executável. O que é ótimo para tutoriais e documentação, garantindo que o código de exemplo que estou mostrando realmente funciona.
Configuração: Programando Seu Editor com Elisp #
Mencionei o Elisp, e este é um ponto legal para se comentar, porque ele é o que realmente define o Emacs: as configurações são feitas via Emacs Lisp (ou Elisp), uma variação da família Lisp.
Eu não sou programador de profissão — sou SysAdmin/DevOps e faço scripts para resolver problemas — então nunca tinha tocado em programação funcional na vida. Aprendi o básico para mexer com os arquivos de configuração, sabendo que programação funcional é algo complexo, que leva anos para dominar totalmente.
Lisp é tão respeitado que até mesmo o gênio John Carmack (criador de Doom e Quake) disse:
“A maior falha de design que cometi ao longo de toda a minha carreira foi escolher C para as linguagens de scripting do Quake e do QuakeWorld, em vez de Lisp.”
Ao contrário de outros editores que usam formatos estáticos como JSON para configurar, no Emacs você está fazendo metaprogramação: você programa seu editor para fazer exatamente o que você precisa. Basicamente, você está hackeando e moldando a ferramenta com código. O Doom Emacs faz a parte mais complexa, e você faz os ajustes finos e, quem sabe no futuro, até pule para o Emacs vanilla (sem a camada Doom).
Conclusão #
Depois de passar por vários editores de texto e IDEs como Sublime, VS Code, Neovim e outros, acredito que posso dizer que o Doom Emacs encerrou a minha busca pelo editor ideal.
Ele faz a mescla dos atalhos do Vim (via Evil Mode) com um ecossistema de produtividade completo (Org Mode, Magit, Babel). Para quem trabalha com SysAdmin/DevOps e precisa de uma ferramenta que seja rápida e leve, e que apenas funcione, ele é a resposta.
Se você também estava procurando um workflow melhor no Linux (e outros sistemas), use Emacs ou Doom Emacs. A curva de aprendizado é ligeiramente íngreme, mas vale a pena.
Tchau, obrigado.
