Neste, introduzirei os termos usados por grande parte dos manuais sobre o
Emacs, assim você não dependerá de meus artigos para continuar a aprender e ficará familiarizado com o "mundo GNU Emacs".
Primeiramente, no Emacs, você tecla a letra para colocá-la no texto. Isto é a edição básica (que é intuitiva), mas há também outros recursos de edição. Por exemplo, se você escreve alguma palavra errada e quer corrigir o erro, começam a surgir outras edições necessárias, como movimentar o ponto (não se preocupe com isso agora, logo isso será explicado) ou apagar "x" (ou um) caracteres para trás. Essas edições mais avançadas são realizadas através de combinações de comandos.
Para o Emacs, as teclas modificadoras são a tecla Control e a tecla Meta. Você usa a tecla Ctrl como a tecla Control e a tecla Alt como a tecla Meta. E, se seu teclado é realmente muito velho e não possui a tecla Alt, talvez possua a tecla com o desenho monocromático de um diamante, ou a verdadeira tecla Meta. Mas, caso não tenha (ou você simplesmente não quer usar a tecla Alt), você pode usar a tecla Esc para emular a tecla Meta. Porém, a tecla Esc não é uma tecla modificadora, então você não pode usá-la da mesma forma. Para usá-la, você pressiona-a uma vez e pressiona depois a tecla (ou combinação) que deveria ser "modificada".
Para representar a tecla Control em uma combinação de teclas usaremos "C" e para Meta usaremos "M". Agora, alguns dos principais comandos:
- C-g (significa: pressione a tecla "g" enquanto mantém pressionada a tecla Control), serve para cancelar comandos
- C-_ (significa: pressione a tecla "-" enquanto mantém pressionadas as teclas Control e Shift), serve para desfazer alterações no texto
- C-x u (significa: primeiro, pressione a tecla "x" enquanto mantém pressionada a tecla Control, depois, pressione a tecla "u"), é o comando pré-fixo
Agora, vamos a um exercício: abra o Emacs e pressione, na mesma ordem e sem interrupção:
C-x C-f f o o . t x t H e l l o <Espaço> W o r l d ! C-u 1 2 <BackSpace> C-y C-o C-o C-y
Depois disso você deve ver um texto como:
"Hello World!
Hello World!" (sem as aspas)
Você poderia ter simplesmente digitado "Hello World", mas um pouco de prática não deve fazer mal. Agora, mais um conceito. No Emacs você deve ter percebido um retângulo opaco que fica transparente em intervalos com uma frequência bem definida. Vamos chamar esse "retângulo" de ponto. Ele representa sua posição atual no texto. Ele fica "piscando" sobre um caractere, mas na verdade o ponto fica entre o caractere anterior ao "retângulo" e o próprio "retângulo". Os caracteres digitados são inseridos na posição do ponto a medida que o mesmo se move, enquanto o "retângulo" fica sempre "piscando" sobre o mesmo caractere. Assim, você consegue inserir texto na orientação LTR (Left-To-Right, isto é, da esquerda para a direita).
Para movimentar o ponto/retângulo pelo texto, você pode usar as teclas direcionais. Mas alguns dizem que este método não é eficiente, pois lhe rouba uma das mãos e ainda faz com que você tenha de tirar as mãos da posição de digitação padrão. Para movimentar o cursor sem retirar as mãos da posição de digitação padrão, você pode usar os seguintes comandos:
- C-p <Cima> (de Previous)
- C-f <Direita> (de Forward)
- C-n <Baixo> (de Next)
- C-b <Esquerda> (de Backward)
Agora, teste tudo que você aprendeu escrevendo 100 vezes a frase abaixo no Emacs:
"
Emacs, mesmo com seus 8 megas e swapping constante, é indiscutivelmente superior ao Vi" (sem as aspas).
Antes de prosseguir, é bom aprender também uma última diferença. Os comandos, para serem mais intuitivos, tem uma característica interessante. Geralmente os comandos Control trabalham sobre blocos mais fundamentais (como letras em textos), enquanto as teclas Meta trabalham sobre blocos mais abstratos (como palavras, ainda em textos).
Quando os comandos não trabalham especificamente sobre um bloco geral ou fundamental, os que são acionados por Control geralmente executam o comando principal e o Meta um auxiliar ou o Control executa um que geralmente é executado antes (ou mais utilizado) que Meta.
Exemplos:
- C-f move a frente uma letra enquanto M-f move a frente uma palavra.
- C-v rola para baixo enquanto M-v rola para cima (quando você vai ler um texto, você não move para cima, você move para baixo).
- C-x é o Command eXtender, enquanto M-x é o naMed eXtender.
- C-y ressuscita um texto apagado (aquele que em outros editores é enviado para /dev/null e no emacs é enviado para o cemitério, quando você aperta a tecla <Delete>), enquanto M-y substitui o último texto ressuscitado pelo próximo na fila do cemitério. Exemplo, se você apaga "O rato roeu a roupa do rei de Roma" e depois "O rato morreu", usando C-y irá colar "O rato morreu" no ponto, enquanto M-y (usado após o comando anterior) irá substituir tal pedaço de texto por "O rato roeu a roupa do rei de Roma".
Agora vá, e não olhe para trás.