O projeto tem como objetivo ser um modelo de configuração do Emacs para o dia a dia do programador nas seguintes tecnologias: Lisp, Haskell, C, Java, Web e Escrita (Latex, R, Markdown, Texto e etc...) - voltado para os amantes em personalização de ferramentas.
Versão do Emacs: GNU Emacs 27.0.50
Procedimento para a instalação do projeto.
No Linux:
git clone https://github.com/emacs-mirror/emacs
./autogen.sh all
./configure --enable-link-time-optimization --with-modules CFLAGS='-O3'
make
sudo make install
No Windows:
browse to: https://alpha.gnu.org/gnu/emacs/pretest/windows/emacs-27/
download: <emacs-27.0.50-snapshot-2017-11-30-x86_64.zip | emacs-27.0.50-snapshot-2017-11-30-i686.zip>
extract to: X:\emacs
shortcut to: X:\emacs\bin\runemacs.exe
mkdir ~/.emacs.d
cd ~/.emacs.d
git clone https://github.com/mdssjc/mds-emacs
Alguns pacotes dependem de softwares externos:
- Magit: Git
- RG: Ripgrep
- LanguageTool: LanguageTool
- Pandoc: Pandoc
Durante o desenvolvimento, o projeto servirá de estudo para o conhecimento da plataforma, entretanto recomendo a utilização do Spacemacs como starter kit.
Próximas evoluções:
- Acompanhar a evolução do Java Meghanada.
- Evoluir o Org-mode.
- Melhorar a legibilidade do código.
- Melhorar a documentação do README e código.
- Incrementar as funcionalidades dos pacotes Web e Terminal.
- Incluir suporte para Guile, LFE e R.
Descrição da composição do projeto.
- Quebra de Linha: acima, abaixo e entre a posição do cursor.
- Texto: apresentação de formas de cadeias de caracteres.
Conjunto de pacotes para o ambiente:
- Estético: estilo ergonômico e sem distrações/ruídos - tema dark e linha de status com ícones.
- Atalhos: atalhos utilizados no ambiente.
- Sintaxe: conjuntos de funcionalidades para facilitar a codificação e escrita.
- Autocompletar;
- Correção;
- Abreviação; e
- Template.
- Semântico: analisa o texto e/ou código com frases e/ou expressões incorretas.
- Pragmático: organização do trabalho com org-mode.
- Estrutura: conjunto estrutural de melhorias/funcionalidades para o ambiente.
- Notícias: feeds e Twitter.
- Linguagens de Programação: Lisp (dialetos ELisp - Emacs Lisp, Racket e Clojure), Haskell, C (com Irony) e Java (Meghanada, JDEE ou Eclim).
- Linguagens de Marcação: Markdown.
- Linguagens Web.
Listagem dos comandos fundamentais:
F1
- Ajuda do Emacs (funções, variáveis, atalhos...)F2
- Alterações de colunaF3
- Inicia/Incrementa a gravação de macroF4
- Finaliza/Executa a macroF5
- ToggleF6
- SintáticoF7
- SemânticoF8
- PragmáticoF9
- Configurações do modo maiorF10
- Comandos LaCarteF11
- Ativa o FullscreenF12
- IBufferCtrl + x
- comandos para o ambienteCtrl + c
- comandos para o modo maiorAlt + x
- prompt de comandosWin
- atalhos especiais ao ambiente/modo maiorAlt Gr
- inserção de caracteres especiaisMenu
- prompt de comandosCtrl + Alt + Enter
- super comando