Este documento compreende uma introdução ao uso do editor de texto GNU Emacs e a descrição de alguns dos seus comandos, com as combinações de teclas que os invocam.
A edição de um ficheiro é feita em três passos: abertura do ficheiro, alteração do seu conteúdo e guarda do novo conteúdo, podendo estes dois últimos passos ser repetidos qualquer número de vezes. Após a abertura do ficheiro, o Emacs associa-lhe uma janela, onde mostra o seu conteúdo. A alteração deste conteúdo consiste em encontrar o sítio onde deve ser inserido texto e/ou de onde deve ser apagado texto, e escrever e/ou apagar o texto pretendido. A localização do ponto onde vai ser inserido ou apagado texto pode ser feita através das teclas com as setas e das teclas PageUp e PageDown, sendo depois o texto escrito ou apagado normalmente. É possível ter vários ficheiros em edição ao mesmo tempo, sendo mostrado no ecrã o conteúdo de um ou mais.
O Emacs só guarda num ficheiro aquilo que for introduzido. Se no fim da última linha do ficheiro não for pressionada a tecla Return, quando o ficheiro for guardado essa linha não estará terminada.
Algumas teclas têm, para o Emacs, nomes especiais, que são introduzidos na tabela seguinte.
Nome | Tecla |
---|---|
DEL | Delete ou Backspace |
ESC | tecla Escape (ou Esc) |
RET | Enter ou Return |
SPC | barra de espaço |
TAB | Tab, a tecla grande imediatamente acima de Caps Lock |
down, up | setas para baixo e para cima |
left, right | setas para a esquerda e para a direita |
next, prior | PageDown e PageUp |
O efeito da combinação M-<tecla> também pode ser obtido pressionando a tecla ESC, libertando-a e pressionando <tecla> de seguida.
Para abandonar o Emacs, o comando é o seguinte.
Teclas | Comando Emacs |
---|---|
C-x C-c | Abandonar o Emacs. |
Em algumas ocasiões, o pressionar da combinação de teclas C-s diz ao sistema para congelar o conteúdo do ecrã, e deixa de haver resposta visível do sistema às acções do utilizador. Neste caso, a combinação de teclas C-q "descongela" o ecrã e restabelece a interacção normal com o sistema.
Também pode acontecer pressionar uma sequência de teclas que invoca um comando do Emacs diferente do pretendido. O comando seguinte permite interromper a execução de um comando do Emacs e voltar à situação anterior. Este comando poderá ser utilizado sempre que o Emacs se encontra num estado desconhecido, para o repor num estado conhecido.
Teclas | Comando Emacs |
---|---|
C-g | Interromper a execução de um comando do Emacs. |
Teclas | Comando Emacs |
---|---|
C-h t | Invocar o tutorial do Emacs. Neste tutorial, o utilizador é guiado ao longo de uma série de acções que lhe permitem familiarizar-se com o funcionamento do Emacs. Vivamente aconselhado. |
C-h i | Consultar documentação. Permite aceder à documentação info existente no sistema. |
Teclas | Comando Emacs |
---|---|
C-_ | Desfazer a última alteração. Executado várias vezes em sucessão vai desfazendo as alterações anteriores. Para refazer as alterações desfeitas, pressionar C-g e voltar a pressionar C-_ as vezes necessárias para chegar ao estado desejado. |
TAB | Alinhar uma linha de texto. Este comando é sensível ao conteúdo do ficheiro em que é executado (desde que a sua extensão seja a apropriada) e tem comportamentos distintos num ficheiro com código Haskell e num com código C, por exemplo. |
DEL | Apagar o carácter à esquerda da posição corrente. |
C-d | Apagar o carácter na posição corrente. |
M-DEL | Apagar a palavra à esquerda da posição corrente. O que constitui uma palavra depende do tipo de ficheiro que está a ser editado. |
M-d | Apagar a palavra à direita da posição corrente. |
M-f | Avançar uma palavra. |
M-b | Recuar uma palavra. |
C-a | Ir para o início da linha. |
C-e | Ir para o fim da linha. |
C-k | Apagar o conteúdo da linha à direita da posição corrente. |
Teclas | Comando Emacs |
---|---|
C-SPC | Marcar o início da região a cortar ou copiar. |
M-w | Copiar o conteúdo do ficheiro entre a posição corrente e a última marca. Entre a execução do comando anterior e deste, só devem ser executados comandos para alterar a posição corrente, visto que há outros comandos que alteram a posição da marca. |
C-w | Cortar o conteúdo do ficheiro entre a posição corrente e a última marca. Aplica-se-lhe a observação do comando anterior. |
C-y | Colar o texto mais recentemente cortado, copiado ou apagado através dos comandos M-DEL, M-d ou C-k. |
M-y | Colar texto anteriormente cortado, copiado ou apagado através dos comandos M-DEL, M-d ou C-k. Substitui o último texto colado pelo texto que tinha sido cortado, copiado ou apagado antes desse. Só pode ser usado imediatamente a seguir a C-y ou a outro M-y. |
Teclas | Comando Emacs |
---|---|
C-s | Procurar texto, interactivamente, para a frente, ou seja, que se encontre depois da posição corrente. |
C-r | Procurar texto, interactivamente, para trás, ou seja, que se encontre antes da posição corrente. |
Durante a procura interactiva de texto, os comandos seguintes ficam acessíveis.
Teclas | Comando Emacs durante a procura de texto |
---|---|
RET | Terminar a procura interactiva de texto. |
C-s | Encontrar a próxima ocorrência do texto ou inverter o sentido da procura. Se a procura interactiva de texto se estava a efectuar para a frente, localiza a próxima ocorrência do texto procurado ou recomeça a procura desde o início do ficheiro, se já tinha atingido o fim do ficheiro. Se a procura se estava a efectuar para trás, passa a efectuá-la para a frente. |
C-r | Encontrar a ocorrência anterior do texto ou inverter o sentido da procura. Se a procura interactiva de texto se estava a efectuar para trás, localiza a ocorrência anterior do texto procurado ou recomeça a procura desde o fim do ficheiro, se já tinha atingido o início do ficheiro. Se a procura se estava a efectuar para a frente, passa a efectuá-la para trás. |
C-g | Interromper a procura interactiva de texto. |
Teclas | Comando Emacs |
---|---|
M-x replace-string | Substituir texto. Substitui todas as ocorrências do texto dado, entre a posição corrente e o fim do ficheiro, por outro texto. No início da sua execução, pede ao utilizador que introduza o texto a substituir e a sua substituição. |
M-% | Substituir texto interactivamente. Difere do comando anterior ao pedir ao utilizador que, para cada ocorrência do texto a substituir, confirme se a deve substituir. Durante a sua execução, a tecla ? permite obter informação sobre as acções possíveis por parte do utilizador. |
Na descrições dos comandos que permitem manipular as janelas, a janela corrente é aquela onde o cursor é visível.
Teclas | Comando Emacs |
---|---|
C-x 0 | Fechar a janela corrente. Fecha a janela corrente, se não for a única. O espaço ocupado pela janela corrente no ecrã passa a pertencer a outra janela, que, assim, aumenta de tamanho. |
C-x 1 | Fechar as outras janelas. A janela corrente passa a ocupar todo o ecrã. |
C-x 2 | Dividir a janela corrente horizontalmente. A janela corrente é dividida, horizontalmente, ao meio. As duas janelas resultantes mostram o conteúdo do mesmo ficheiro. |
C-x 3 | Dividir a janela corrente verticalmente. Faz na vertical o que o comando anterior faz na horizontal. |
C-x o | Mudar a janela corrente. A nova janela corrente será a que está à direita ou a que está abaixo da janela corrente, ou aquela a que pertence o canto superior esquerdo do ecrã, se não existir nenhuma à direita ou abaixo da corrente. |
C-x b | Mudar o conteúdo da janela corrente. O nome do ficheiro cujo conteúdo passará a ser mostrado na janela corrente será introduzido na última linha do ecrã. Este ficheiro deverá ter sido previamente aberto, caso contrário deverá ser usado o comando para abrir um ficheiro. |
C-x 4 f | Abrir um ficheiro noutra janela. Abre um ficheiro (novo ou já existente) e mostra o seu conteúdo numa janela diferente da janela corrente. Se só existir uma janela, divide-a horizontalmente ao meio e mostra o ficheiro aberto na janela de baixo. |