Agora que você já sabe como funciona parte do sistema
Emacs, já posso introduzir alguns termos mais avançados, as diferenças entre Control e Meta e um pouco sobre a "cara" do Emacs.
Primeiro, vou introduzir alguns comandos que são muito úteis, para que você possa praticá-los agora e no final da página já esteja familiarizado:
- C-g Executa a mesma ação que você geralmente usa clicando em algum botão escrito cancelar. É isso que ele faz, cancela alguma ação.
- C-_ Desfazer. Outras opções para executar essa mesma ação são: C-/ e C-x u
- C-v Rola para baixo, ou seja, faz o mesmo que PageDown
- M-v Rola para cima, ou, em outro idioma, faz o mesmo que PageUp
- C-l No meio de um texto pressione-o várias vezes para entender o que ele faz
- C-u Permite que você digite um argumento para um comando. Exemplo: C-u - 4 C-l
- C-x Command eXtender. Os comandos mais utilizados são mapeados para que você só precise de uma combinação de teclas para utilizá-los, assim como C-/ e C-o, mas há outros comandos que são utilizados poucas vezes ou que você não deseja pressionar acidentalmente.
- M-x naMed eXtender. É parecido com o comando anterior. Ele permite que você digite diretamente no minibuffer o nome do comando que você quer executar.
Primeiro baixe o arquivo GNU:
GNU
Agora, abra-o no Emacs. Para realizar tal feito, abra o Emacs, depois use:
C-x C-f
Ao fazer isso, você estará utilizando o mini-buffer, que permitirá a você digitar o caminho/nome do arquivo. Você pode utilizar a tecla <Tab> para que o Emacs tente auto-completar sempre que possível, e pode usar vários dos comandos que poder utilizar durante a maior parte do tempo, como
C-a para posicionar o ponto sobre o início do texto e
M-<BackSpace> para apagar a palavra anterior. Quando terminar de digitar no minibuffer tecle .
Agora, algumas edições básicas:
Tecle
C-v algumas vezes para rolar o texto (você também pode simplesmente mover o ponto ou utilizar a scrollbar ou o mouse para fazer isso também, mas, não é eficiente). Estando o ponto em alguma parte do texto, experimente pressionar
C-l algumas vezes para descobrir como funciona esse comportamento. O C-l faz a linha de texto sobre o ponto ficar posicionada no centro da tela. Caso você a pressione novamente, a linha será posicionada na borda superior da "janela". E pressionando mais uma vez, será posicionada na borda inferior da janela.
Um detalhe interessante é o comando pré-fixo, que altera o comportamento de comandos existentes. O comando pré-fixo é acionado sobre um comando, não sobre todos. A tecla
C-u é ligada (lembrando que o Emacs é bem personalizável e caso você use o Emacs de um(a) amigo(a) e essa combinação de teclas não tenha o efeito esperado, não culpe o Emacs ou o meu artigo) ao comando pré-fixo.
Após acionar o comando pré-fixo, você pode, ou não, passar um número (o argumento) para ele. No final você pressiona a combinação de teclas do comando que quer modificar. No comando descrito acima (o C-l), o argumento de comando pré-fixo diz em que posição aquela linha deve ser mostrada. Assim, se você pressionar
C-u 4 C-l o Emacs posicionará (se possível) aquela linha como a quarta linha visível do texto no buffer.
Se um argumento negativo for dado a esse comando, o Emacs passará a contar as linhas de trás para frente. Então, se você passar -2 como argumento, a linha atual será, se possível, mostrada como a penúltima linha do texto visível. Outra forma de usar o comando pré-fixo é digitar Meta mais o primeiro dígito do número argumento, e depois digitar os dígitos restantes (se houver), terminando com o comando que receberá o argumento. Se o argumento for negativo, apenas digite M-- e o número absoluto.
Tecle
C-s para encontrar ocorrências da palavra GNU no texto. No modo de pesquisa, toda vez que você pressiona C-s, a próxima ocorrência da palavra é mostrada e toda vez que você pressiona C-r, a ocorrência anterior da palavra é mostrada.
Se você pressionar
C-g, a pesquisa é cancelada e o ponto volta para a posição original. Se você pressionar , o ponto permanecerá na posição mostrada e a pesquisa é encerrada. Tente pesquisar por GNUabc. O Emacs mostrará a ocorrência de GNU e destacará em vermelho a parte não encontrada. Dessa vez, se você teclar C-g, a pequisa não será cancelada, e a parte não encontrada da pesquisa será apagada.
Escolha um parágrafo com a palavra GNU e selecione-o. Para selecionar o parágrafo, posicione o ponto sobre uma das pontas do parágrafo, tecle
C-<Space> e posicione o ponto sobre a outra ponta da seleção. Após isso tecle
C-w para apagar a seleção. Vá para o final do texto (apenas pressione
C->), adicione uma nova linha (teclando ou C-m e pressione C-y para colocar o texto naquela parte. Agora pressione
C-_ para desfazer a maior parte das alteração realizadas no texto.
Depois dessas edições básicas você já deve ter aprendido um pouco mais sobre o Emacs. Todos os comandos utilizados até agora são comandos bem comuns, e, tirando o comando de procurar um arquivo (
C-x C-f), todos poderiam ser acionados com uma única combinação de teclas. Há, no entanto comandos menos usuais, que para serem acionados, precisam de mais de uma combinação de teclas. E por quê isso? Por que não mapear todas as combinações como uma única combinação de teclas? Porque seria muito difícil lembrar todas elas, e também um trabalho árduo para os desenvolvedores pesquisar quais combinações de teclas ainda estavam livres para serem utilizadas.
É nessa parte que entra o command eXtender. Você digita C-x e então outra combinação de teclas. Alguns desses comandos:
- C-x C-f Achar arquivo (já mostrado anteriormente)
- C-x C-s Salvar arquivo atual
- C-x s Salvar todos os arquivos
- C-x D Navegar no diretório
- C-x C-w Salvar como
- C-x C-c Sair do Emacs
- C-x C-- Diminuir o tamanho da fonte
- C-x C-+ Aumentar o tamanho da fonte
Além do command extender, há o naMed eXtender, que permite-lhe diretamente inserir o nome do comando. Para usá-lo:
M-x
Experimente usar o comando shell. Dentro do shell, você pode executar outros programas do sistema normalmente. Mas se não quiser abrir um shell só para abrir um programa, outra alternativa é usar o comando:
M-!