O minha utilização de emacs

Emacs-Logo-scaled.png

Olá!

Primeiro post! Para uma apresentação mais geral podem ler o about.

Neste post vou escrever um pouco sobre emacs, visto ser essa a plataforma onde vou escrever todos os artigos. Digo plataforma em vez de editor de texto de propósito. O que o emacs é na verdade é um interpretador de emacs lisp que vem com vários programas já pré-configurados e que é extensível.

emacs

História da minha utilização

Até 2017 utilizei gedit, utilizava para programar fortran, editar scripts de python e bash, escrevi a minha tese em LaTeX, entre outras utilizações. Mas com a trajetória de simplificação do projecto gnome, o suporte para vários dos plugins que eu utilizava era cada vez menos estável ou suportado. Assim eu já andava a pensar procurar um novo editor de texto. No final de 2017 comecei num novo trabalho onde o acesso ao ambiente de desenvolvimento era feito através de ssh com passagem do ambiente gráfico X. Isso queria dizer que as versões de programas a que tinha acesso estavam fixas, não as podia actualizar. Pior ainda, eram bastante antigas e não podia instalar plugins. Então olhei para as hipóteses que tinha, testei um pouco o VIM mas não gostei de ficar sempre preso ao terminal. E como o meu gestor da altura utilizava emacs, decidi testar. Funcionou bem e com uma configuração bem simples conseguia fazer o trabalho que necessitava. Em 2020 mudei de trabalho e passei a programar em common lisp. Toda a empresa utilizava emacs, ainda que alguns contra vontade. Mas para mim foi um ponto de viragem onde aprofundei conhecimento e passei a ter prazer em fazer cada vez mais coisas dentro do programa. Hoje já não estou na mesma empresa nem estou a programar lisp, mas o emacs continua a ser, a par com o browser, a ferramenta que mais utilizo em qualquer computador.

Como o utilizo

Vou enumerar algumas tarefas que faço com emacs:

  • programar (C, C++, fortran, common lisp, bash, python, emacs lisp)
  • git (magit)
  • AI agent (agent shell)
  • notas, agenda (org mode)
  • gestor de ficheiros
  • ler e anotar pdf's
  • previsão da meteorologia
  • pesquisar mapas (osm)
  • ler feeds rss/atom
  • procurar e ver videos do youtube
  • ouvir rádios
  • ouvir musica local
  • ler reddit
  • criar este blog

Outras possíveis utilizações

Existem funcionalidades que eu ou ainda não experimentei ou não são interessantes actualmente, mas que podem ser feitos dentro do emacs e podem ser do teu interesse:

  • email
  • IRC
  • whatsapp/signal
  • diário
  • sistema de notas tipo zettelkasten (org roam)

Como se configura

Existem algumas formas diferentes de configurar o emacs. A forma que eu prefiro é ter a pasta ~/.emacs.d/ e ter um ficheiro init.el dentro de onde começo toda a configuração. Depois separo configurações externas ao emacs numa pasta chamada extra e importo para esse init.el.

Um exemplo mínimo de configuração pode ser:

(fido-vertical-mode)
(load-theme 'modus-vivendi-tritanopia)
(setq-default cursor-type 'bar)
(global-visual-line-mode)