Configurando o Emacs 23 / Emacs cvs no Arch Linux – Parte 1

O Emacs é tratado, principalmente pelos “vim users”, como um ótimo sistema operacional porém um péssimo editor de textos. Na realidade, aprender a configurá-lo não é uma tarefa fácil, sua curva de aprendizado exige bastante dedicação e é complicado de sair da chamada, estaca zero.

Nesta série vou demonstrar como configurar o Emacs 23, atual cvs, para trabalhar com algumas linguagens de programação que eu utilizo, além de demonstrar algumas configurações pessoais. Para tal, serão usados alguns pacotes encontrados nos repositórios oficiais, alguns pacotes do AUR e outros de downloads diretos, sendo os links destes, disponibilizados durante a série.

Neste primeiro artigo, será demonstrado apenas configurações pessoais.

Para iniciar, instale o pacote emacs-cvs do repositório community:

# pacman -S emacs-cvs

Logo após vá até o arquivo ~/.Xresources e adicione:

$ emacs ~/.Xresources

! Emacs Emacs.FontBackend: xft Emacs.Font:Monaco-8

Para que o conteúdo acima funcione é necessário carregar o arquivo .Xresoucres na inicialização de sua interface gráfica, aqui eu utilizo a pekwm, sendo assim, basta editar o arquivo ~/.pekwm/start:

$ emacs ~/.pekwm/start

xrdb -merge ~/.Xresources &

Obs: Você pode escolher a fonte e o tamanho da mesma de acordo com sua preferência. Há algum tempo atrás, publiquei um artigo explicando como instalar a fonte Monaco no Archlinux.

Realizei algumas outras configurações pelo próprio menu gráfico do Emacs. Porém, para facilitar, basta editar o arquivo ~/.emacs e adicionar as seguintes linhas na sessão custom-set-variables.

$ emacs ~/.emacs

'(blink-cursor-mode nil) '(column-number-mode t) '(cua-mode t nil (cua-base)) '(current-language-environment "UTF-8") '(indent-tabs-mode t) '(indicate-buffer-boundaries (quote left)) '(js2-indent-on-enter-key t) '(make-backup-files nil) '(py-python-command "ipython") '(python-python-command "ipython") '(python-use-skeletons t) '(show-paren-mode t) '(standard-indent 4) '(tab-always-ident t) '(tab-width 4) '(tooltip-mode nil))

Obs: tais cofigurações são extritamente pessoais. Caso você não deseje utilizá-las, pode cofigurar o Emacs a vontade acessando o menu Options > Customize Emacs > Top-level Customization Group.

A seguir, estão mais algumas configurações pessoais, caso não queira utilizar alguma(s) dela(s), basta pular a sessão.

Desligando o Alarm Bell
Para desligar o alarm bell, adicione ao final arquivo ~.emacs:

$ emacs ~/.emacs

;; alarmbell off (setq visible-bell 1) (setq ring-bell-function 'ignore)

Ativando o Syntax Hilighting
Para ativar o syntax hilighting e ter seu texto colorido de acordo com a linguagem de programação, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; turning on syntax hilighting (global-font-lock-mode 1)

Adicionando uma nova linha no final do arquivo ao salvá-lo
Para adicionar uma nova linha ao final do arquivo quando for salvá-lo, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; autoadd new eof line (setq require-final-newline t)

Ativando identação com tabs
Para ativar a identação com tabs em seu Emacs, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; tab ident (setq-default indent-tabs-mode t) (setq tabify t) (setq c-basic-offset 4)

Ativando identação com espaços
Para ativar identação com espaços em seu Emacs, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; space ident (setq-default ident-tabs-mode nil) (setq tabify nil)

Obs: O Emacs realizará identação somente através de um dos dois métodos. Caso adicione os dois, ele irá utilizar o adicionado por último, para comentar uma linha utilize o caracter ponto e vírgula “;”.

Desligando a Toolbar
Para desabilitar a Toolbar (barra com ícones no topo do Emacs), adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; turn off toolbar (tool-bar-mode -1)

Desligando a Menubar
Para desabilitar a Menubar (barra de menus), adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; turn off menubar (menu-bar-mode -1)

Obs: meu Emacs apresentou alguns problemas de renderização ao utilizar tal configuração. Ele escondia visualmente a barra porém não removia o espaço ocupado por ela.

Limpando o lixo criado automaticamente pelo Emacs
Para apagar os arquivos salvos automaticamente e fazer com que o Emacs não salve arquivos de backup, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; clear the trash (setq delete-auto-save-files t) (setq make-backup-files nil)

Exibindo o número da linha em que o cursor se encontra
Para exibir o número da linha que o cursor se encontra na status bar do Emacs, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; showing line numbers (setq line-number-mode t)

Limpando espaços em branco nos finais das linhas
Para limpar os espaços em branco nos finais das linhas, adicione no final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; clear trailing spaces (global-set-key "C-cw" 'delete-trailing-whitespace) (add-hook 'before-save-hook 'delete-trailing-whitespace)

Obs: Para apagar os espaços nos finais das linhas sem salvar o arquivo, utilize a combinação de teclas Ctrl+c w.

Extendendo linhas compridas
Por padrão, o Emacs quebra visualmente uma linha com mais de 80 caracteres, para desligar esta função, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; truncation of long lines (setq truncate-lines nil) (global-set-key "C-ct" 'toogle-truncate-lines)

Obs: Esta configuração não funcionou automaticamente no meu Emacs, porém eu utilizo a combinação de teclas Ctrl+c t para realizar tal função.

Ativando o color-theme
Para ativar os temas de cores em seu Emacs, é preciso instalar o pacote emacs-color-theme do repositório community:

# pacman -S emacs-color-theme

Logo após, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

(require 'color-theme) (color-theme-initialize)

Agora, basta escolher qualquer tema de sua preferência. Para tal, execute dada função através da combinação de teclas Alt+x, digite color-theme- e tecle tab, será exibida uma lista com temas disponíveis. O que eu mais prefiro dentro dos padrões é o charcoal-black, porém resolvi fazer meu próprio tema extendendo o tema deep-blue.

Instalando o emacs-redpill-theme.el
Na realidade, como citado anteriormente, este tema nada mais é do que o color-theme-deep-blue extendido, porém caso queiram utilizar, criem o arquivo ~/.emacs-files/emacs-redpill-theme.el com o seguinte conteúdo:

$ emacs ~/.emacs-files/emacs-redpill-theme.el

(eval-when-compile (require 'color-theme)) (defun color-theme-redpill () "Deep Blue theme with #242424 background." (interactive) (color-theme-deep-blue) (let ((color-theme-is-cumulative t)) (color-theme-install '(color-theme-redpill ;; General ((background-color . "#242424")) )) ) ) ;;-- Test (color-theme-redpill)

E então para ativar o tema, adicione ao final do arquivo ~/.emacs:

$ emacs ~/.emacs

;; redpill-color-theme activation (load-library "~/.emacs-files/emacs-redpill-theme.el")

Obs: caso não queira editar o arquvio na mão, por qualquer motivo que seje, faça o download através deste link

Nos próximos artigos, ensinarei como configurar as linguagens de programação que utilizo no meu dia-a-dia.