Você já pensou em usar o editor de texto Emacs?

Emacs

GNU Emacs é um editor de texto da família Emacs. É código aberto, portável e customizável. Muito usado pela comunidade de pessoas que desenvolvem software.

O Emacs (estou suprimindo o GNU) funciona na maior parte dos sistemas operacionais conhecidos, como Mac OS, Windows e Linux. E você pode customizar seu Emacs tanto usando major modes como criando customizações com a linguagem Lisp, na qual GNU Emacs é feito.

O seu uso é geralmente por teclado (atalhos). O uso do mouse é desencorajado. Acredito que por isso, e pela proposta de uma interface que diminui o número de interrupções ao longo da escrita, é que o GNU Emacs é amplamente usado pela comunidade de tecnologia. Assim como seu concorrente o Vim.

Dá pra fazer de um tudo um pouco no Emacs: abrir sites, usar o Spotify, executar linha de comando, escrever livros, artigos, e claro escrever código, etc. Esse post eu fiz todo usando Emacs.

meu Emacs aberto com o eww e o arquivo markdown deste post https://www.emacswiki.org/emacs/eww

Major modes

Um major mode é o modo de edição ativo no momento. Para saber qual está ativo no momento veja na parte de baixo da tela entre parenteses.

Eles dizem respeito algumas configurações específicas para o tipo de conteúdo editado no momento, por exemplo, quando eu abro um arquivo markdown, o Emacs identifica isso e carrega o major mode Markdown. Veja a figura abaixo.

Há vários major modes para customizar seu Emacs. Alguns que estou usando:

Go

Markdown

SCSS

Aqui uma lista dos major modes disponíveis.

Instalando

Nesta página você pode encontrar as instruções especificas a seu sistema operacional.

Comandos básicos

A ajuda do Emacs é C-h ?. Onde C significa a tecla Control: segure o Control, pressione h e depois interrogação.

Quando descrevendo os comandos, que se chamam key sequence, a documentação usa das terminologias C e M, onde o primeiro é para a tecla Control e a segunda para a tecla ESC/Alt.

Neste gist coloquei os comandos que me são mais úteis no uso do Emacs.

Referências

Tutorial do Emacs