Guia Rápido de Sobrevivência no Emacs
1. Introdução ao Emacs
O Emacs é um editor de texto altamente configurável e expansível, usado por desenvolvedores, escritores e entusiastas da tecnologia. Ele oferece ferramentas integradas para edição avançada, gerenciamento de arquivos, automação e personalização, tornando-se uma espécie de “canivete suíço” para tarefas de texto.
Por que o Emacs é poderoso?
- Extensibilidade: Suporte a extensões e scripts em Lisp.
- Multiuso: Além de editor, pode ser usado como organizador pessoal, cliente de email, navegador da web e muito mais.
- Buffers: O Emacs trabalha com buffers, que são “áreas de trabalho” onde arquivos, dados e comandos são exibidos.
Entrando e Saindo do Emacs
- Para abrir o Emacs:
No terminal, digiteemacsouemacs nome_do_arquivopara abrir diretamente um arquivo. - Para sair do Emacs:
Pressione C-x C-c (Control + X, seguido de Control + C).
2. Navegação Básica
Para usar o Emacs eficientemente, é fundamental dominar os comandos básicos de navegação. Esses comandos permitem mover-se pelo texto rapidamente, sem precisar usar o mouse.
Movimentos Simples
| Comando | Ação |
|---|---|
| C-f | Avançar um caractere (Forward). |
| C-b | Retroceder um caractere (Backward). |
| C-n | Próxima linha (Next). |
| C-p | Linha anterior (Previous). |
Movimentos por Palavras
| Comando | Ação |
|---|---|
| M-f | Avançar uma palavra. |
| M-b | Retroceder uma palavra. |
Movimentos por Linhas e Parágrafos
| Comando | Ação |
|---|---|
| C-a | Ir para o início da linha. |
| C-e | Ir para o final da linha. |
| M-{ | Retroceder um parágrafo. |
| M-} | Avançar um parágrafo. |
Movimentos Rápidos no Arquivo
| Comando | Ação |
|---|---|
| M-< | Ir para o início do arquivo. |
| M-> | Ir para o fim do arquivo. |
Exemplo Prático
- Para ler um texto, mova-se linha a linha com C-n e C-p.
- Para pular rapidamente para o fim do arquivo, use M->.
Dica
- O M representa a tecla Meta, que geralmente é o Alt em teclados modernos. Em alguns sistemas, pode ser configurado como Esc.
3. Edição de Texto
O Emacs facilita a edição de texto com comandos intuitivos para inserir, deletar, copiar e colar. Abaixo estão as operações essenciais para modificar texto.
Inserir Texto
No Emacs, basta começar a digitar. Não é necessário entrar em um modo especial como em outros editores (e.g., Vim).
Deletar Texto
| Comando | Ação |
|---|---|
| C-d | Deletar o caractere sob o cursor. |
| Backspace | Deletar o caractere anterior. |
| M-d | Deletar até o final da palavra. |
| C-k | Deletar até o final da linha. |
Exemplo Prático
- Para apagar uma linha inteira:
Posicione o cursor no início da linha e pressione C-k.
Copiar, Cortar e Colar
| Comando | Ação |
|---|---|
| C-space | Iniciar seleção de texto (Set Mark). |
| M-w | Copiar (meta-write). |
| C-w | Cortar. |
| C-y | Colar (yank). |
Exemplo Prático
- Posicione o cursor no início de um trecho que deseja copiar.
- Pressione C-space e mova o cursor até o final do trecho usando os comandos de navegação.
- Pressione M-w para copiar ou C-w para cortar.
- Posicione o cursor onde deseja colar e pressione C-y.
Desfazer e Cancelar Operações
| Comando | Ação |
|---|---|
| C-/ ou C-_ | Desfazer a última alteração. |
| C-g | Cancelar uma operação em andamento. |
Exemplo Prático
- Após deletar acidentalmente uma linha com C-k, pressione C-/ para desfazer.
Repetir Último Comando
| Comando | Ação |
|---|---|
| C-x z | Repetir o último comando. |
Exemplo Prático
- Se acabou de colar com C-y, pressione C-x z para repetir o comando de colar.
Com esses comandos, você tem todas as ferramentas básicas para editar texto no Emacs de forma eficiente.
4. Gerenciamento de Arquivos
O Emacs oferece comandos simples e poderosos para abrir, salvar e gerenciar arquivos diretamente no editor. Aqui estão os comandos essenciais.
Abrir Arquivos
| Comando | Ação |
|---|---|
| C-x C-f | Abrir ou criar um arquivo. |
Exemplo Prático
- Para abrir um arquivo chamado
meuarquivo.txt:
Pressione C-x C-f, digite o nome do arquivo e pressione Enter.
Salvar Arquivos
| Comando | Ação |
|---|---|
| C-x C-s | Salvar o arquivo atual. |
| C-x C-w | Salvar como um novo arquivo. |
Exemplo Prático
- Após editar um arquivo, pressione C-x C-s para salvar as alterações.
- Para salvar com outro nome, pressione C-x C-w, digite o novo nome e pressione Enter.
Fechar Arquivos
| Comando | Ação |
|---|---|
| C-x k | Fechar o buffer atual. |
Exemplo Prático
- Para fechar o arquivo aberto no buffer atual, pressione C-x k, confirme o nome do buffer pressionando Enter.
Dicas Úteis
- Se você tenta fechar ou sair com alterações não salvas, o Emacs pedirá confirmação antes de descartar as mudanças.
- Use C-x C-c para sair do Emacs. Se houver arquivos não salvos, o Emacs perguntará o que fazer.
Com esses comandos, você pode gerenciar arquivos diretamente no Emacs sem sair do editor.
5. Gerenciamento de Buffers
No Emacs, cada arquivo ou área de trabalho é aberto em um buffer. Aprender a gerenciar buffers é essencial para trabalhar com múltiplos arquivos ou dados simultaneamente.
Listar Buffers
| Comando | Ação |
|---|---|
| C-x C-b | Exibir uma lista de todos os buffers. |
Exemplo Prático
- Pressione C-x C-b para abrir uma janela com a lista de buffers. Use C-x o para alternar para essa janela e escolher um buffer.
Alternar Buffers
| Comando | Ação |
|---|---|
| C-x b | Alternar para outro buffer. |
Exemplo Prático
- Para alternar para um buffer chamado
buffer2:
Pressione C-x b, digitebuffer2e pressione Enter.
Fechar Buffers
| Comando | Ação |
|---|---|
| C-x k | Fechar o buffer atual. |
Exemplo Prático
- Pressione C-x k para fechar o buffer atual. O Emacs pedirá para confirmar o nome do buffer; pressione Enter para aceitar.
Dicas para Buffers
- O Emacs mantém buffers abertos em segundo plano, permitindo alternar rapidamente entre eles.
- Use C-x C-b frequentemente para verificar quais buffers estão ativos.
Com esses comandos, você pode navegar e gerenciar múltiplos buffers facilmente, aumentando sua produtividade.
6. Busca e Substituição
O Emacs oferece ferramentas poderosas para localizar e substituir texto de forma eficiente. A busca pode ser incremental (enquanto digita) e a substituição pode ser interativa, permitindo confirmar cada alteração.
Busca Incremental
| Comando | Ação |
|---|---|
| C-s | Buscar para frente (incremental). |
| C-r | Buscar para trás (incremental). |
Exemplo Prático
- Pressione C-s para iniciar a busca.
- Digite o termo que deseja encontrar. O cursor se moverá automaticamente para a primeira correspondência.
- Pressione C-s novamente para avançar para a próxima ocorrência.
- Use C-r para buscar em direção oposta.
Substituição Interativa
| Comando | Ação |
|---|---|
| M-% | Buscar e substituir interativamente. |
Exemplo Prático
- Pressione M-% para iniciar a substituição.
- Digite o termo a ser substituído e pressione Enter.
- Digite o termo de substituição e pressione Enter.
- Para cada ocorrência, o Emacs pedirá confirmação:
- y: Substituir.
- n: Ignorar.
- !: Substituir todas as ocorrências restantes sem perguntar.
- q: Cancelar a substituição.
Dica Útil
- Para busca ou substituição sem distinção de maiúsculas/minúsculas, ative o modo com:
M-x toggle-case-fold-search
Esses comandos cobrem a maioria das situações de busca e substituição, ajudando a localizar e corrigir texto de forma precisa e eficiente.
7. Janelas e Divisões
O Emacs permite dividir a tela em várias janelas para trabalhar com múltiplos buffers ou visualizar diferentes partes de um arquivo ao mesmo tempo. Isso é útil para multitarefa e comparação de conteúdo.
Dividir a Janela
| Comando | Ação |
|---|---|
| C-x 2 | Dividir a janela horizontalmente (em duas linhas). |
| C-x 3 | Dividir a janela verticalmente (em duas colunas). |
Exemplo Prático
- Pressione C-x 2 para criar uma divisão horizontal.
- Pressione C-x 3 para criar uma divisão vertical.
Alternar Entre Janelas
| Comando | Ação |
|---|---|
| C-x o | Mudar para outra janela. |
Exemplo Prático
- Após dividir a tela, pressione C-x o repetidamente para alternar entre as janelas.
Fechar Divisões
| Comando | Ação |
|---|---|
| C-x 0 | Fechar a janela atual. |
| C-x 1 | Fechar todas as janelas, exceto a atual. |
Exemplo Prático
- Para voltar a usar apenas uma janela, pressione C-x 1.
Redimensionar Janelas
| Comando | Ação |
|---|---|
| C-x + | Ajustar automaticamente os tamanhos das janelas. |
| C-x ^ | Aumentar a altura da janela atual. |
Com esses comandos, você pode organizar seu ambiente de trabalho no Emacs para lidar com múltiplos arquivos ou diferentes partes de um mesmo documento.
8. Personalização Básica
O Emacs é altamente personalizável e permite ajustar sua aparência e comportamento para atender às suas preferências. Aqui estão algumas configurações simples para começar.
Ativar/Desativar Números de Linha
| Comando | Ação |
|---|---|
| M-x display-line-numbers-mode | Alterna a exibição de números de linha. |
Exemplo Prático
- Para exibir os números de linha no buffer atual, pressione M-x, digite
display-line-numbers-modee pressione Enter.
Alterar o Tema
| Comando | Ação |
|---|---|
| M-x load-theme | Carregar um tema novo. |
Exemplo Prático
- Pressione M-x, digite
load-themee pressione Enter. - Escolha um tema da lista exibida (use Tab para auto-completar os nomes disponíveis).
Ajustar Tamanho da Fonte
| Comando | Ação |
|---|---|
| C-x C-+ | Aumentar o tamanho da fonte. |
| C-x C– | Diminuir o tamanho da fonte. |
Editar Arquivo de Configuração do Emacs
O arquivo de configuração padrão do Emacs é o .emacs ou .emacs.d/init.el, localizado no diretório inicial do usuário. Você pode adicionar comandos para personalização persistente.
Exemplo Prático: Ativar números de linha por padrão
- Abra o arquivo de configuração:
C-x C-f ~/.emacs.d/init.el - Adicione o seguinte código:
(global-display-line-numbers-mode) - Salve o arquivo com C-x C-s e reinicie o Emacs.
Essas personalizações básicas ajudam a adaptar o Emacs às suas preferências iniciais, e você pode explorá-lo ainda mais com o tempo.
9. Dicas Úteis
Aqui estão alguns truques e comandos adicionais que podem facilitar o uso do Emacs e aumentar sua produtividade.
Cancelar Comandos ou Operações
| Comando | Ação | |—————-|——————————————-| | C-g | Cancelar qualquer comando em andamento. |
Exemplo Prático
- Se você iniciou um comando e mudou de ideia, pressione C-g para cancelar.
Desfazer e Refazer
| Comando | Ação | |—————-|——————————————-| | C-/ ou C-_ | Desfazer a última alteração. | | C-x u | Alternativa para desfazer. |
Executar Qualquer Comando Pelo Nome
| Comando | Ação | |—————-|——————————————-| | M-x | Permite executar qualquer comando pelo nome. |
Exemplo Prático
- Para ativar a exibição de números de linha:
Pressione M-x, digitedisplay-line-numbers-modee pressione Enter.
Obter Ajuda
| Comando | Ação | |—————-|——————————————-| | C-h k | Mostra informações sobre um comando (pressione o comando após). | | C-h t | Abre o tutorial interativo do Emacs. | | C-h i | Acessa a documentação completa do Emacs (Info). |
Exemplo Prático
- Para entender o que faz o comando C-x b, pressione C-h k C-x b.
Repetir o Último Comando
| Comando | Ação | |—————-|——————————————-| | C-x z | Repetir o último comando executado. |
Abrir um Shell Dentro do Emacs
| Comando | Ação | |—————-|——————————————-| | M-x shell | Abre um terminal dentro do Emacs. |
Essas dicas úteis ajudam a simplificar o uso do Emacs e a explorar mais rapidamente suas funcionalidades avançadas.
10. Tabela de Referência
Aqui está uma tabela consolidando os comandos apresentados no guia para consulta rápida. Use-a como referência durante o uso do Emacs.
Navegação
| Comando | Ação |
|---|---|
| C-f | Avançar um caractere. |
| C-b | Retroceder um caractere. |
| C-n | Próxima linha. |
| C-p | Linha anterior. |
| M-f | Avançar uma palavra. |
| M-b | Retroceder uma palavra. |
| C-a | Início da linha. |
| C-e | Fim da linha. |
| M-{ | Retroceder um parágrafo. |
| M-} | Avançar um parágrafo. |
| M-< | Início do arquivo. |
| M-> | Fim do arquivo. |
Edição de Texto
| Comando | Ação |
|---|---|
| C-d | Deletar o caractere sob o cursor. |
| Backspace | Deletar o caractere anterior. |
| M-d | Deletar até o final da palavra. |
| C-k | Deletar até o final da linha. |
| C-space | Iniciar seleção de texto. |
| M-w | Copiar texto. |
| C-w | Cortar texto. |
| C-y | Colar texto. |
| C-/ ou C-_ | Desfazer a última alteração. |
Gerenciamento de Arquivos
| Comando | Ação |
|---|---|
| C-x C-f | Abrir ou criar um arquivo. |
| C-x C-s | Salvar o arquivo atual. |
| C-x C-w | Salvar como outro arquivo. |
| C-x k | Fechar o buffer atual. |
Gerenciamento de Buffers
| Comando | Ação |
|---|---|
| C-x C-b | Listar buffers. |
| C-x b | Alternar buffers. |
| C-x k | Fechar buffer atual. |
Busca e Substituição
| Comando | Ação |
|---|---|
| C-s | Busca incremental para frente. |
| C-r | Busca incremental para trás. |
| M-% | Buscar e substituir interativamente. |
Janelas e Divisões
| Comando | Ação |
|---|---|
| C-x 2 | Dividir janela horizontalmente. |
| C-x 3 | Dividir janela verticalmente. |
| C-x o | Alternar entre janelas. |
| C-x 0 | Fechar janela atual. |
| C-x 1 | Fechar todas as janelas, exceto a atual. |
| C-x + | Ajustar automaticamente os tamanhos das janelas. |
Personalização
| Comando | Ação |
|---|---|
| M-x display-line-numbers-mode | Alternar números de linha. |
| M-x load-theme | Alterar o tema. |
| C-x C-+ | Aumentar tamanho da fonte. |
| C-x C– | Diminuir tamanho da fonte. |
Dicas Úteis
| Comando | Ação |
|---|---|
| C-g | Cancelar comando em andamento. |
| C-h k | Obter ajuda sobre um comando. |
| C-x z | Repetir o último comando. |
| M-x shell | Abrir um terminal dentro do Emacs. |
Com esta tabela, você tem um resumo rápido de comandos essenciais para navegar e trabalhar no Emacs com eficiência.