You are on page 1of 13

Emacs

Gustavo Sales 29 de maro de 2006

Introduo

O GNU Emacs um editor de textos muito poderoso criado por Richard Stallman, o fundador do projeto GNU e da FSF(Free Software Foundation).

1.1 Por que usar o Emacs?


Tanto o Vim quanto o Emacs so editores de texto poderosos, e acredito que ambos aumentam muito a produtividade de quem trabalha com eles. Mas ento, por que Emacs ? Bom eu encolhi por quando entrei no Vim, no conseguia nem sair, e era a poca de modens 33,6kps, ento matei o processo e tentei o Emacs no modo texto. Para minha surpresa na tela de abertura havia uma explicao de como sair, como abrir um arquivo e at como ler um tutorial!! Foi isso que me fez car no Emacs 8-).

1.1.1 Algumas funcionalidades do Emacs


Como vocs no tm o problema que eu tive, aprenderam no curso como usar o Vim, vou vender o peixe do Emacs , mostrando algumas de funcionalidades, como:
Indentao de programas em vrias lingugens; Acesso a ferramentas de programao com o
elisp gcc

e o gdb ;

Personalizao da interface e adio de novas funcionalidades usando

Documentao interna acessvel com o comando C-h; E at joguinhos como o resta-um M-x solitaire!

Como sair do Emacs


Se for em modo texto, como na gura ele indica a tecla de atalho C-x C-s explicando que C a tecla Control(Ctrl); J no ambiente grco ele indica o uso do menu arquivo->sair;

Bom, aqui uma das diferenas do Emacs para o Vim, na tela de abertura do Emacs h indicaes de como sair:

As teclas de atalho funcionam no ambiente grco tambm e usadas para aumentar a produtividade.

devem

ser

Ambiente
As reas mais importantes do do ambiente Emacs , so
Barra de menus e ferramentas pouco usadas, para aumentar a produ-

tividade o bom esquecer o mouse e menus

Janela de Edio espao para edio dose textos

Barra de Status indica o nome do buer (normalmente o nome do

arquivo), o modo de edio, o nmero da linha atual e onde se est no arquivo: All para todo arquivo na tela , Top para primeira tela do texto, Bot para ltima tela do texto e NN% onde NN um nmero que indica o percentual do texto em que se encontra o Emacs conversa com voc.

rea de interao Ou Echo area onde se interage com o Emacs e onde

Teclas Control e Meta

Todos os comandos do Emacs podem ser acessados por combinaes de teclas que contm o a tecla Ctrl ou a tecla Alt chamada por motivos histricos de Meta. Como j adiantado nas sees anteriores, os comandos so descritos da seguinte forma:
C-<char> M-<char>
Pressionar juntos Ctrl e o caracter 'char' Pressionar juntos Alt e o caracter 'char' mgicas

Agora que sabemos sobre as teclas

vamos ao que interessa!

Manipulao de Texto
C-g.Para cancelar um comando iniciado; C-x u ou C-_ Para desfazer aes;

5.1 Comandos gerais

5.2 Movimentao no texto


No Emacs h comandos especiais para movimentao no texto, alguns so importantes, como o que leva ao incio e ao m do texto, outros somente so usados em alguns tipos de terminais que no suportam a utilizao das setas para a movimentao. Eis um resumo dos comandos:
C-b Retrocede um caractere; C-f Avana um caractere; C-p Vai para a linha de cima; C-n Vai para a linha de baixo; M-b Retrocede uma palavra; M-f Avana uma palavra; C-v Rola o texto para baixo;

M-v Rola o texto para cima; C-l Centraliza verticalmente linha corrente na tela, ou seja, o texto

rolado at que a linha corrente que no centro da tela;

C-a Vai para o incio da linha; C-e Vai para o m da linha; M-a Move o cursor para o incio do perodo corrente ou anterior; M-e Move o cursor para o m do perodo corrente ou posterior; M-< Vai para o incio do texto; M-> Vai para o m do texto; M-x goto-line Vai para uma linha especca;

Estes comandos so interessante e agilizam o trabalho. Alguns tm similares na maioria dos terminais como teclas Home, End, PageDown, PageUp.

5.3 Recortar, Copiar e Colar


Para recortar, comeamos selecionando:
Para comear uma seleo usa-se C-space ou C-@ eu prero C-space,

uma tecla a menos 8-)

Depois, v ao m do trecho a ser recortado e use C-w.


Observao: Como padro, a seleo do texto no visvel, para torn-la visvel usa-se o comando

Agora para colar:

M-x transient-mark-mode.

C-y

J para copiar:
Marca-se o incio da seleo com C-space No m do trecho a ser copiado usa-se M-w

Ou seja, C-w marca o m da seleo e recorta e M-w marca o m da seleo e copia. Pode-se, tambm, navegar nos trechos copiados ou recortados, para tanto:
C-y para colar o ltimo trecho copiado ou recortado; Sem movimentar o cursor usa-se M-y para ir ao penltimo trecho copi-

ado ou recortado

Com sucessivos M-y navega-se nos trechos copiados ou recortado.

Outros comandos para recortar so:


C-k Corta desde a posio do cursor at o m da linha;* M-k Corta desde a posio do cursor at o m do perodo;* M-backspace Recorta a palavra antes do cursor; M-d Recorta a palavra depois do cursor;

Os comandos que considero mais usados esto marcados por *. 6

5.4 Buscar e Substituir


A busca no Emacs feita de forma incremental, ou seja, enquanto digitamos a string ele vai buscando no texto. Os comandos de busca so:
C-s Busca incremental para
frente

no texto;
frente

C-s C-s Repete ltima busca incremental para

no texto;

C-r Busca reversa, ou seja, incremental para trs no texto; C-r C-r Repete ltima busca reversa, ou seja, incremental para trs

no texto.

J para substituir o comando : M-%. Quando executado aparecera na echo area o dialogo: Query replace: e digitamos a string a ser substituda; depois, Query replace <string> with: e digitamos a nova string Agora a cada ocorrncia, aparecer:
Query replacing <old-string> with <new-string>: (?
usa-se space ou y para substituir; n para no substituir a ocorrncia; e q para terminar as substituies.

for help)

Ao nal apresentado um resumo: H tambm a Substituio no interativa, tomaremos contato com o mundo das funes do Emacs . Para acessar as funes padro do Emacs usa-se o comando M-x e agora na echo area digitaremos a funo desejada ou seja replace-string. Assim o comando : M-x replace-string. (Vale lembrar que na echo area assim como no shell pode-se usar o a tecla TAB para auto-completar 8-) ). Depois segue-se o dilogo: Replace string: digitamos a string a ser substituda Replace string <string> with: e digitamos a nova string depois nos apresentado o resumo:
Replaced <num> occurrences. Replaced <num> occurrences.

Manipulao de arquivos
O comando para abrir um arquivo C-x C-f; J para salvar um arquivo C-x C-s; Para salvar com outro nome C-x C-w; E para fechar um arquivo(ou um buer) C-x C-k.

As operaes bsicas feitas em arquivos so abrir, salvar, salvar como e fechar.

Edio de mltiplos arquivos

7.1 Buers
Cada arquivo no Emacs aberto em um buer. Ou seja se abrimos um arquivo estamos colocando este arquivo em um buer, e, se em seguida abrimos outro arquivo, este arquivo ser posto noutro buer.Alm disso h buers internos do Emacs .

7.1.1 Comandos para buers


to buffer: (default <Nome do buffer>)

Para listar os buers existentes usa-se o comando C-x C-b. E para mudar de buer o comando C-x b, seguindo-se o dialogo:

Switch

7.1.2 Salvando todos os arquivos abertos de uma vez


Com o comando C-x s possvel salvar todos os arquivos aberto no Emacs .

7.2 Janelas
Pode-se trabalhar com mais de uma janela de edio ao mesmo tempo no Emacs . Para tanto usa-se os comandos:
C-x 2 Divide-se a janela atual horizontalmente;

C-x 3 Divide-se a a janela atual verticalmente; C-x o Alterna a janela de trabalho; C-x 1 Esconde as todas as janelas exceto a corrente; C-x 0 Esconde a janela atual; C-M-v Rola o texto da ltima janela visitada.

Tpicos interessantes para programadores


Agora a brincadeira ca interessante 8-)

8.1 Modos do Emacs


O Emacs tem alguns modos de edio pr-determinados, por exemplo, para: textos, arquivos em C, arquivos em python, arquivos em latex, arquivos em java, etc. Normalmente o Emacs reconhece o tipo de arquivo pela extenso. mas se por acaso isso no ocorrer, ou se desejar trocar o modo, o comando : Com o modo denido: cores para o syntax highlight, e como ser feita a indentao so denidos. Alm disso h os modos menores ou minor modes que complementam os modos. Alguns dos minor modes interessantes so:
font-lock-mode para ativar o

M-x <nome-do-modo> Por exemplo: M-x c-mode

modo corrente;

syntax highligth

conforme denido pelo

paren-mode Para controle de 'parentizao'(de abertura de fechamento

de chaves, colchetes e parnteses).

Para ativar um Minor mode usa-se o comando M-x <nome-do modo-menor>.

8.2 Integrao com programas


Alguns comandos que integram o Emacs com programas importantes para programao so: 9

8.3 make/gcc
Seguido do dilogo Compile command: make -k onde deve-se substituir make -k, se necessrio, pelo comando de compilao, por exemplo gcc -std=c99 -pedantic -Wall <arquivo>.c -o <executvel>.
Observao: Como visto, por padro o

M-x compile

Emacs chama o programa make


make visite:

para obter mais informaes sobre como usar

http://www.student.cs.uwaterloo.ca/ isg/r

8.4 gdb
O gdb um importante programa para deteco de erros em programas (debugger) para us-lo deve-se compilar o programa com a opo -g do gcc. Essa opo guarda informaes para o debug no programa objeto. O comando para usar o gdb integrado ao Emacs M-x gdb seguido do dilogo: Run gdb (like this): gdb onde pode-se especicar o programa a debugar escrevendo seu nome: Run
gdb (like this):

O interessante que o Emacs trabalha com o gdb, por exemplo se voc utiliza o gdb para rodar o programa comando a comando, o Emacs mostra uma seta na frente da linha a ser executada. Ou ento ganho um pau acontece e o programa capota, a seta aponta a linha onde o problema aconteceu. Muito legal! 8-)
Observao: Para um tutorial rpido sobre o

gdb <nome-do-programa>

gdb

visite: http://www.ic.unicamp.br/ is-

lene/bug/segmentation_fault.html. O legal que usa-se o

Emacs tambm

8.5 man
isso mesmo! Pode-se acessar as pginas de manual direto do Emacs ! Basta usar o comando: M-x man segue-se o dilogo: Manual entry (default <palavra>): Onde <palavra> a palavra onde se est com cursor!! Se essa for a busca a ser feita um enter resolve, seno, basta digitar o tpico a se consultar.

8.6 shell
Mais uma coisa legal!! Pode-se abrir um shell em um buer do Emacs com o comando: M-x shell 10

Para sair do shell de forma elegante, digita-se exit no prompt e depois usa-se o comando C-x C-k para matar o buer

Como obter ajuda


O Emacs tem uma vasta documentao interna para acess-la usa-se:
C-h t Para acessar o tutorial do

Emacs ; Emacs ;

C-h f <funo> para obter informaes sobre funes do C-h ? Para mais opes

9.1 Site, lista de discusso e meus e-mails


Outra forma de obter ajuda na web nos sites:
http://www.emacswiki.org/cgi-bin/emacs-pt Wiki em portugus

com acesso a outras lnguas sobre Emacs ;

http://danzig.jct.ac.il/unix_class/emacs-vi-Commands.html Ta-

bela de comandos do Emacs e do Vim;

http://www.softwarelivre.ufsc.br/tiki-download_file.php?fileId=18&highlight=e

Tabela de referncia bem completa dos comandos do Emacs em pdf; de comandos para consulta rpida;

http://www.ic.unicamp.br/ bartho/tutorial_emacs.html Outra lista http://www.google.com No poderia faltar 8-).

H tambm uma lista de discusso em portugus: E meus e-mails:

http://listas.softwarelivre.org/mailman/listinfo/emacs-br vatsu@gmx.net ou luis.sales@students.ic.unicamp.br

11

Figura 1: Tela inicial do Emacs no modo texto 12

Figura 2: Tela padro do Emacs no ambiente grco

13

You might also like