Recuperação de Erros Cartão de Referência do GNU Emacs Iniciando o Emacs Para entrar no GNU Emacs 20, digite seu nome: emacs Procura Incremental Saindo do Emacs suspende Emacs (ou iconifica se no X) Sai do Emacs permanentemente C-z procura para frente C-x C-c procura para trás procura por expressões regulares procura por expressões regulares Arquivos abre um arquivo no Emacs salva um arquivo no disco salva todos os arquivos insere o conteúdo de outro arquivo reabre noutro arquivo salva como arquivo controle de versão seleciona a mesma procura passada seleciona a procura antepassada sai da procura incremental desfaz o efeito do ultimo caracter aborta a procura corrente M-p M-n RET DEL C-g Movimento direção do movimento caracter palavra linha inı́cio de linha (ou fim) sentença parágrafo página sexp função inı́cio do buffer (ou fim) A ajuda é simples. Digite C-h (ou F1) e siga as instruções. Se o Emacs é novo para você, digite C-h t para chamar o tutorial. C-x 1 C-M-v Documentos apropos: mostra os comandos com a palavra mostra a função de certa tecla descreve uma função decreve um modo especı́fico C-s C-r C-M-s C-M-r C-x C-f C-x C-s C-x s C-x i C-x C-v Use C-s ou C-r novamente para repetir a procura C-x C-w em qualquer direção. Se o Emacs ainda está procuC-x C-q rando, C-g cancela somente a parte não terminada. Pedindo Ajuda fecha a janela de ajuda rola a janela de ajuda C-g M-x recover-file C-x u ou CM-x revert-buffer C-l aborta comando ou digitação restaura um arquivo perdido desfaz comando ou edição restaura o conteúdo de arquivo redesenha a tela (versão 20) C-h C-h C-h C-h a c rola para próxima tela f rola para prévia tela m rola para esquerda rola para direita 1 p/trás C-b M-b C-p C-a M-a M-{ C-x [ C-M-b C-M-a M-< p/frente C-f M-f C-n C-e M-e M-} C-x ] C-M-f C-M-e M-> C-v M-v C-x < C-x > ˆ RET C-r C-u C-l volta à coincidência prévia rola a linha atual para o centro da tela sai da procura entra edição recursiva (C-M-c para sair) Matando e Apagando entidade p/ matar caracter (apaga, não mata) palavra linha (até o fim) sentença sexp p/trás p/frente DEL C-d M-DEL M-d M-0 C-k C-k C-x DEL M-k M-- C-M-k C-M-k Janelas Múltiplas Quando dois comandos são mostrados, o segundo é para a outra janela Apaga todas as outras janelas C-x 1 divide janela, acima e abaixo cola a última morte substitui ultima colagem com a morte prévia coloca marca marca marca marca marca C-@ or C-SPC C-x C-x marca arg palavras adiante paragrafo página sexp função todo o buffer C-x 3 C-M-v põe o cursor na outra janela C-x o seleciona buffer na outra janela mostra buffer na outra janela abre arquivo na outra janela lê arquivo na outra janela executa Dired na outra janela encontra tag na outra janela C-x C-x C-x C-x C-x C-x M-@ M-h C-x C-p aumenta a altura da janela C-M-@ diminui a altura da janela C-M-h aumenta a largura da janela C-x h 4 4 4 4 4 4 C-x 5 o b C-x C-o C-x f C-x r C-x d C-x . C-x 5 5 5 5 5 5 b C-o f r d . C-x ˆ C-x { C-x } Formatação Substituição Consultada interactivamente substitui um texto M-% com expressões regulares M-x query-replace-regexp Respostas válidas no modo de Consulta substitui este, vai ao próximo sustitui este, não se move passa ao próximo sem substituir substitui todos restantes C-x 5 2 C-x 5 0 C-y rola outra janela M-y Marcando coloca marca aqui troca ponto e marca C-x 2 C-x 0 C-w apaga esta janela M-w M-z char divide janela, lado a lado mata região copia região mata até o próximo char SPC , DEL ! 2 indenta linha line (depende do modo) indenta região (depende do modo) TAB C-M- indenta sexp (depende do modo) indenta região rigidamente arg colunas C-M-q C-x TAB insere nova linha depois do lugar move o resto da linha verticalmente p/ baixo apaga linhas vazias ao redor do lugar junta linha com a prévia (com arg, próxima) C-o C-M-o C-x C-o M-ˆ Transposição apaga todo espaço em branco ao redor do lugar pões exatamente um espaço no lugar M-\ M-SPC preenche parágrafo seleciona coluna de quebra seleciona o prefixo de inı́cio de linha M-q transpõe palavras C-x f transpõe linhas C-x . transpõe sexps C-t M-t C-x C-t C-M-t transpõe characteres M-g seleciona a fonte Correção Ortográfica Mudança de Caso M-u M-l M-c paravra maiúscula palavra minúscula capitaliza palavra região maiúscula região minúscula testa grafia da palavra corrente testa grafia da região testa grafia de todo o buffer M-$ M-x ispell-region M-x ispell-buffer Tags C-x C-u C-x C-l abre um tag (uma definição) encontra o próximo tag especifica arquivo de tags M-. C-u M-. M-x visit-tags-table O Minibuffer procura regexp na tabela de tags M-x tags-search roda procura nos arquivos M-x tags-query-replace continua a última procura em tags M-, As seguintes teclas são definidas no Minibuffer completa tanto quanto possı́vel completa até uma palavra completa e executa mostra possı́veis complementos vai ao comando prévio vai ao comando próximo procura c/ regexp para trás na história procura c/ regexp para frente na história aborta comando TAB SPC RET ? M-p M-n M-r M-s C-g Shells executa um comando de shell executa um comando de shell na região filtra a região através de um comando começa um shell numa janela *shell* Digite C-x ESC ESC para editar e repetir o último comando que usou o Minibuffer. Digite F10 para tivar a barra de menus usando o Minibuffer. Retângulos copia retângulo para registrador mata retângulo cola rectângulo abre retângulo, deslocando texto p/ direita limpa retângulo prefixa cada linha com texto Buffers seleciona outro buffer lista todos buffers mata um buffer M-! M-| C-u M-| M-x shell C-x b C-x C-b C-x k 3 C-x C-x C-x C-x C-x C-x r r r r r r r k y o c t Abbrevs Info adiciona abreviação global adiciona abreviação local ao modo adiciona expansão global para esta abrev. adiciona exp. local para esta abrev. explicitamente expande abreviação expande a palavra prévia dinamicamente C-x C-x C-x a C-x a C-x entra no leitor de Info’s encontra função ou variável no Info a g a l i g i l a e M-/ Movendo-se num nó: rola para frente rola para trás começo do nó . SPC DEL (dot) Movendo-se entre nós: Expressões Regulares próximo nó prévio nó sobe seleciona item do menu pelo nome seleciona n-ésimo item do menu por número (1–9) segue referência cruzada (retorna com l) retorna ao último nó visitado retorna à lista de nós vai para qualquer nó pelo nome qualquer caracter sozinho exceto nova-linha . (ponto) zero ou mais repetições * uma ou mais repetições + zero ou uma repetição ? mascara caractere c especial \c alternativo (“ou”) \| agrupamento \( . . . \) mesmo texto que no n-ésimo grupo \n quebra de palavra \b exceto numa quebra de palavra \B entity line word buffer inı́cio ˆ \< \‘ classe de caracteres explı́citos uma palavra um caracter c construção negação [ ... ] \w \sc C-h i C-h C-i n p u m n f l d g Outros: roda tutorial do Info sai do Info procura nós por regexp fim $ \> \0 h q M-s Registradores salva região no registrador insere conteúdo do registrador no buffer [ ˆ ... ] \W \Sc salva valor do ponto no registrador pula para o ponto salvo C-x r s C-x r i C-x r SPC C-x r j Conjuntos de Caracteres Internacionais Macros de Teclado começa a definição de uma macro C-x ( termina a definição de uma macro C-x ) executa a última macro definida C-x e acrescenta à última macro C-u C-x ( nomeia a última macro M-x name-last-kbd-macro insere Lisp da macro no buffer M-x insert-kbd-macro especifica lı́ngua M-x set-language-environment mostra métodos de entrada M-x list-input-methods abilita ou desabilita métodos de entrada C-\ ajusta sistema de código C-x RET c mostra sistemas de código M-x list-coding-systems escolhe sistema preferido M-x prefer-coding-system 4 Comandos de Lisp Emacs avalia sexp antes do lugar avalia defun atual avalia região lê e avalia miniuffer lê do diretório padrão do sistema C-x C-e C-M-x M-x eval-region M-: M-x load-library Configuração Simples configura variáveis e fontes M-x customize Redefinindo teclas em Emacs Lisp (no .emacs): (global-set-key (global-set-key (global-set-key (global-set-key "\C-cg" ’goto-line) "\M-\#" ’query-replace-regexp) [f2] ’save-buffer) [delete] ’delete-char) Escrevendo Comandos (defun \<command-name> (\<args>) "\<documentation>" (interactive "\<template>") \<body>) Um exemplo: (defun this-line-to-top-of-window (line) "Reposition line point is on to top of window. With ARG, put point on line ARG." (interactive "P") (recenter (if (null line) 0 (prefix-numeric-value line)))) O comando interactive diz como ler os argumentos interativamente. Digite C-h f interactive para maiores detalhes. 5