GNU Emacs

Origem: Wikipédia, a enciclopédia livre.
GNU Emacs
Logótipo
GNU Emacs
Captura de tela
GNU Emacs
GNU Emacs 25 rodando no GNOME 3
Desenvolvedor Projeto GNU
Lançamento 1976
Versão estável 28.1 (4 de abril de 2022[1])
Versão em teste 28.1.91 (2022-08-01)
Sistema operacional Multiplataforma
Gênero(s) Editor de texto, Editor hexadecimal
Licença GPL v3+
Página oficial www.gnu.org/software/emacs

O Emacs é um editor de texto, usado por programadores e usuários que necessitam desenvolver documentos técnicos, em diversos sistemas operacionais. A primeira versão do Emacs foi escrita em 1976 por Richard Stallman.[2][3][4][5]

O Emacs tem sua base em Lisp, especificamente um dialeto de Lisp chamado Emacs Lisp. Este permite que ele se torne configurável ao ponto de se transformar em uma espécie de "canivete suíço" para escritores, analistas e programadores.[6]

Alguns recursos disponíveis no Emacs:

Histórico[editar | editar código-fonte]

Em 1976, Stallman descreveu o primeiro Emacs ("Editor MACroS"), em 1984, ele trabalhou para o GNU Emacs, para encontrar outra opção para os proprietários do Gosling Emacs. O GNU Emacs foi baseado no Gosling Emacs, e foi substituído por Stallman em Mocklisp Interpretation por um verdadeiro interpretador Lisp que exigia tudo que você escrevia em código. É o primeiro programa GNU a funcionar. O GNU Emacs foi escrito em C e fornece ou Emacs Lisp, também foi aplicado em C, como linguagem de extensão. O verso 13, o primeiro lançamento público, foi lançado em 20 de março de 1985. O primeiro lançamento do GNU Emacs foi lançado no verso 15.34, e foi lançado mais tarde em 1985, pois o primeiro dígito indicando C" 1 "foi descartado. 1.12, como o main nunca pensou em mudar, então o main mudou de "1" para "13. O novo hedge foi feito para permitir. No esquema de numeração, um número com dois elementos significa uma liberação, e desenvolvimento com três elementos.[7][8]

O GNU Emacs foi posteriormente portado para o sistema operacional Unix. Ele oferecia mais recursos do que o Gosling Emacs, em particular um Lisp completo como sua linguagem de extensão, e logo substituiu o Gosling Emacs como o editor "de fato" do Unix Emacs. Markus Hess explorou uma falha de segurança no subsistema de e-mail do GNU Emacs em sua onda de cracking de 1986, na qual ele ganhou acesso de superusuário a computadores Unix.[9]

Embora os usuários comumente enviassem patches e códigos Elisp para o net.emacs newsgroup, a participação no desenvolvimento do GNU Emacs foi relativamente restrita até 1999, e foi usada como um exemplo do estilo de desenvolvimento "Catedral" em The Cathedral and the Bazaar. Desde então, o projeto adotou uma lista de discussão pública de desenvolvimento e acesso anônimo ao CVS. O desenvolvimento ocorreu em um único tronco CVS até 2008, e hoje utiliza o Git DVCS.[10]

Usando o Emacs[editar | editar código-fonte]

Comandos[editar | editar código-fonte]

Para abrir um arquivo diretamente de um shell Unix, basta digitar "emacs [nome do arquivo]". Se o arquivo digitado não existir, um arquivo com esse nome será criado. No entanto, a documentação oficial do Emacs recomenda iniciar o Emacs sem o nome do arquivo para evitar o mau hábito de se carregar uma nova janela do Emacs para cada arquivo que for editar. Para usufruir de todos os recursos disponíveis no Emacs é preferível carregar todos os arquivos no mesmo processo.

No modo normal de edição, o Emacs comporta-se como outros editores de texto: o pressionamento de qualquer caractere alfanumérico insere o caractere correspondente, as setas movimentam o ponto de edição (cursor), backspace deleta o texto, etc. Outros comandos são carregados pelo pressionamento de uma combinação de teclas, pressionando o Ctrl e/ou o Meta/Alt juntamente com uma tecla normal. Todo comando de edição é na verdade uma chamada de uma função no ambiente Emacs Lisp. Até mesmo o pressionamento de uma tecla simples como a para inserir o caracter a envolve a chamada de uma função.

Alguns comandos básicos são mostrados abaixo. A tecla Ctrl é chamada de C e a tecla Alt de M.

Comando Atalho de Teclas Descrição
info-emacs-manual C-h r Carrega o manual do Emacs.
forward-word M-f Move para o final da palavra. Se estiver no final da palavra, move ao final da próxima palavra.
search-forward C-s Procura uma palavra no buffer.
undo C-/ Desfaz última alteração. Desfaz operações anteriores se pressionada repetidamente.
keyboard-quit C-g Cancela o comando atual.
find-file C-x C-f Carrega um arquivo (o nome é solicitado) em um novo buffer de edição.
save-buffer C-x C-s Salva o buffer atual.
write-file C-x C-w Salva o buffer atual em um novo arquivo.
save-buffers-kill-emacs C-x C-c Pergunta se deseja salvar os arquivos abertos e sair do Emacs.
set-mark-command C-[space]/C-@ Faz uma marca no ponto de edição atual, onde será o início de uma cópia ou recorte.
kill-region C-w Corta todo o texto entre a marca e o cursor.
kill-ring-save M-w Copia todo o texto entre a marca e o cursor.
yank C-y Cola o texto contido na área de transferência do Emacs.
kill-buffer C-x k Mata o buffer com o nome indicado, ou o buffer atual se nenhum nome é digitado.
execute-extended-command M-x Executa um comando.
dabbrev-expand M-/ Auto completa palavra atual.

Cabe lembrar que alguns comandos como o save-buffer usam múltiplos atalhos de teclas. Essa técnica foi criada para possibilitar que mais comandos sejam acionados por atalhos do que do modo convencional. Por exemplo, para salvar um arquivo deve-se pressionar C-x C-s, isto é, pressionar Ctrl+x simultaneamente, depois enquanto ainda segura somente a tecla Ctrl pressionar s. Outro exemplo é o atalho do manual do Emacs. Para carregar o Manual é preciso pressionar C-h r, isto é, pressionar Ctrl+h simultaneamente e depois de soltar o Ctrl e o h, pressionar a tecla r.

Muitos comandos do Emacs podem ser executados pela barra de menus ou (quando o Emacs é executado em sua interface gráfica) pela barra de botões. No entanto usuários avançados preferem usar os atalhos de teclado para ter acesso mais rápido e mais conveniente depois da memorização das teclas.

Ver também[editar | editar código-fonte]

Outros projetos Wikimedia também contêm material sobre este tema:
Commons Categoria no Commons

Referências

  1. «GNU Emacs». GNU Emacs. Consultado em 31 de agosto de 2022 
  2. Bernard S. Greenberg. «Multics Emacs: The History, Design and Implementation» (em inglês). Consultado em 6 de Setembro de 2012 
  3. «GNU Emacs FAQ» (em inglês). Consultado em 6 de Setembro de 2012 
  4. Jamie Zawinski. «Emacs Timeline» (em inglês). Consultado em 6 de Setembro de 2012 
  5. Adrienne G. Thompson. «MACSimizing TECO» (em inglês). Consultado em 6 de Setembro de 2012 
  6. «A history of Emacs». XEmacs Internals Manual. 11 de dezembro de 2006. Consultado em 22 de agosto de 2007 
  7. «NEWS.1-17». There is a new version numbering scheme. What used to be the first version number, which was 1, has been discarded since it does not seem that I need three levels of version number. However, a new third version number has been added to represent changes by user sites. This number will always be zero in Emacs when I distribute it; it will be incremented each time Emacs is built at another site. 
  8. «GNU Emacs FAQ». A version number with two components (e.g., ‘22.1’) indicates a released version; three components indicate a development version (e.g., ‘23.0.50’ is what will eventually become ‘23.1’). 
  9. Stoll, Clifford (1988). «Stalking the wily hacker». Communications of the ACM. 31 (5): 484–497. doi:10.1145/42411.42412 
  10. «Re: GNU EMACS». GNU. Consultado em 16 de novembro de 2014 

Ligações externas[editar | editar código-fonte]