Falaremos, neste curto espaço, desta ferramenta que só é um editor de textos quando você quer. De fato, além desta nobre função de auxiliar hackers em seu trabalho, ele admite extensões para quase tudo o que se possa imaginar: compilador, checador de sintaxe, shell, web browser, CVS, etc. O que você imaginar, pode ser feito em GNU Emacs!
Vou falar aqui de uns comandos interessantes e que merecem um destaque especial. Esta parte está uma completa bagunça, mas espero ser útil como uma referência.
---
O Emacs é um editor que tem lá suas idiossincrasias... uma delas, que eu acabei gostando, é o "AutoScrolling" (ou "scroll" na documentação original).
Na vasta maioria dos editores de texto, o texto segue o cursor, e se você atinge o final da janela e ainda há mais texto, o editor mostra mais uma linha apenas.
Já o Emacs centraliza o texto quando isso acontece. A impressão é de que a tela rolou pra cima (que nem o botão de scroll mouse no navegador Mozilla Firefox).
Tente a experiência no GEdit e no Emacs que você logo entenderá o que estou falando. Isto é bastante útil, pois normalmente as pessoas lêem com mais atenção o que está no centro da tela.
Neste caso, o comando "C-l" (l de lambda, e não 1 de 1 real!) faz a mesma coisa, só que em qualquer ponto do texto em que você estiver.
---
Quase todo comando do Emacs admite um argumento numérico. Para passar este argumento usa-se "C-u". Por exemplo, C-u 100 # adiciona 100 símbolos # no texto.
Muitas vezes tais argumentos são de repetição, mas há algumas exceções. Por exemplo, C-u 5 C-l faz o editor rolar o texto 5 linhas para baixo (m vez de centralizar o texto cinco vezes :P).
---
No vim, a tecla <ESC> salva você de várias enrascadas perigosas.
Por exemplo, imagine que você iria digitar :q! <RETURN> no modo texto e, antes de apertar o <RETURN> percebe que está no modo de comandos. Antes do fatídico ato, você simplesmente tecla <ESC> e tudo volta ao normal!
O comando que faz este tipo de coisa no Emacs é justamente "C-g". Imagine por exemplo que você digitou C-u 100, mas desistiu da loucura de repetir um comando 100 vezes. Então você simplesmente digita C-g que o comando simplesmente desaparece!
[1] Comentário enviado por leonardoamorim em 08/12/2005 - 08:40h
Correção.
"Bem, este é só um pequeno "manifesto" sobre o por quê deu estar escrevendo este artigo."
O correto seria:
"Bem, este é só um pequeno "manifesto" sobre o porquê de estar eu escrevendo este artigo. "
O sujeito da oração é um termo insubordinado, portanto, ele não deve estar "acoplado" em uma preposição como em "deu" (de + eu), aliás isso é um verbo. A preposição "de" deve estar ligada ao verbo no infinitivo "estar".
E o "por quê" é junto, pois é um substantivo, veja que antes dessa palavra vem um artigo.
[3] Comentário enviado por fdavid em 08/12/2005 - 17:11h
Olha juro que eu tento mais não consigo, tanto o vi quanto o emacs não encontro o porque do sucesso.
Comando pra inserir, apagar, andar, pular etc etc não é muito mais simples seta para baixo, insert, delete etc ?
Se alguem tiver uma boa explicação para isso fico grato, eu uso o mcedit que não tem nada de especial e por isso é pratico, me pergunto o que um editor de texto (puro) precisa mais ?
[4] Comentário enviado por ferlopes em 08/12/2005 - 17:22h
Knancys:
Imagine que o vi foi um dos primeiros editores, juntamente com o nano, que saíram da total abstração dos números e dos códigos... são editores... O VIM - Vi IMproved já é uma grande evolução daqueles primeiros VIs, dos anos 70.
Já o EMACS está em outro patamar... é uma ferramenta completa, complexa e que é ferramenta básica para muitos e muitos programadores... Para uma geração que sempre viveu na era visual, talvez seja até difícil querer comparar com programas como Eclipse ou qualquer outra coisa... mas a questão vai além... O Emacs é, ainda hoje, uma ferramenta muito boa...
... e o VI é o típico programa que vira canivete suíço, extensão da mão do administrador ou do programador linux... pura verdade! Num sistema remoto, por exemplo, você não pode subir um programa que use servidor visual. Para pequensa e às vezes médias edições, o Vi é simplesmente imbatível, pela praticidade e rapidez com que cumpre sua função. Talvez você se refira ao VIzão... que, realmente, não é dos mais práticos... mas que com certeza tem muitos defensores... é tudo questão de gosto: você gosta de mcedit... é ou não é?
[6] Comentário enviado por fdavid em 09/12/2005 - 08:18h
Boa pesquisando vi e emacs achei que posso fazer scripts para os mesmos, isso pode adiantar na digitação do codigo.
Tá começando a ficar interessante :-)
[7] Comentário enviado por chronos em 09/12/2005 - 11:24h
Não conheço o Emacs mas sei do seu poderio. Achei o seu artigo muito interessante e instrutivo, entretanto sugiro que use uma linguagem mais técnica da próxima vez.
Também senti um ar de ataque ao VIM, acho que isso não é interessante em artigos.
Espero pelos seus próximos artigos :)!
Ah, no VIM, tem como você mapear teclas, nos modos visual (de seleção), normal e no modo de edição, o que significa que ti pode por exemplo mapear C-w para salvar o arquivo, C-q para sair, C-(setas) para andar uma palavra pro lado, etc.
Também há como você usar por exemplo o PHP binário para checar syntax eu acredito, existe um projeto em desenvolvimento para isso.
Continue com seus artigos, estou começando a me interessar pelo emacs :).
[8] Comentário enviado por edivan em 09/12/2005 - 13:49h
Gostei do artigo, mas acho que deveria ser mais calmo quando escrever sobre a relação com o vi.
chronos, vc pode mapear as teclas do emacs com M-x global-set-key, ai ele vai pedir as teclas e o comando.
ex, C-q para sair:
M-x global-set-key [ENTER]
C-q [ENTER]
(save-buffers-kill-emacs) [ENTER]
knancys, como exemplo do que vc pode fazer para auxiliar na digitação de codigo no emacs.
[9] Comentário enviado por marrento em 10/12/2005 - 19:04h
enviado por knancys em 08/12/2005:
"Olha juro que eu tento mais não consigo, tanto o vi quanto o emacs não encontro o porque do sucesso. Comando pra inserir, apagar, andar, pular etc etc não é muito mais simples seta para baixo, insert, delete etc ?"
E porque vc acha que não pode usar as setas, backspace ou delete? Vc pode até mesmo usar o mouse. Mas a intenção desses editores praticíssimos é que vc nunca tire suas mãos da posição de edição: elas estão sempre sobre as teclas de edição.
Vc certamente pode se contentar apenas com o feijão-com-arroz que editores como notepad ou nano te dão, mas para muitas pessoas, cuja vida profissional depende de produtividade na edição de textos, os comandos avançados de movimentação, repetição, macros e tudo o mais de vim e emacs são absolutamente essenciais.
Depois que vc aprende, vê o quanto era primitivo e improdutivo seu mero copiar-e-colar com notepad e sua tosca movimentação linha-a-linha ou page-up/page-down...
enviado por ferlopes em 08/12/2005:
"Já o EMACS está em outro patamar..."
Nem tanto. Eu diria que o VIM hoje está no mesmo patamar do Emacs em termos de recursos de edição de texto. Ele tem até sua própria linguagem de extensão hoje, que é mais familiar a muitos programadores do que Lisp.
E, diferente de Emacs, parece não ter perdido o foco, sua razão de ser: edição de textos. Já fui um grande fã de emacs, mas a simplicidade do VIM, pelo fato de ser um editor modal, me conquistou nos últimos tempos. Acho que a gota d'água foram os inimagináveis combos de comandos para se programar com o pgsgml-mode em XEmacs: muito úteis, mas exigindo um complexo malabarismo com as mãos... apertar i ou a no VIM antes de editar é um preço pequeno a pagar por uma economia de destreza manual tão confortável... :)
"Para uma geração que sempre viveu na era visual, talvez seja até difícil querer comparar com programas como Eclipse ou qualquer outra coisa..."
É uma geração perdida... ;)
enviado por chronos em 09/12/2005:
"Também senti um ar de ataque ao VIM, acho que isso não é interessante em artigos."
[11] Comentário enviado por dastyler em 11/12/2005 - 17:55h
Gostaria de adicionar umafunçao importante do Emacs, que é acionada via tecla F10 do teclado. Quando vc pressiona esta tecla, o Emacs abre um menu para que voce interaja com o programa (ex: salvar arquivo, procura, etc.). Por exemplo, para salvar um arquivo, pressione F10, depois f e finalmente s.
[13] Comentário enviado por Jarnotrulli em 22/03/2006 - 15:43h
Quanto ao "ataque ao VIM", bem, encarem como quiser :P, mas a intenção era apenas de brincadeira mesmo. Nada para ser levado aos extremos.
Mas a parte do vimrc no VOL é opinião própria!
[15] Comentário enviado por rodolfobertozo em 13/07/2016 - 14:33h
Exelente cara!! Faltam posts sobre Emacs em sites do Brasil!! Mandou muito bem explicando o básico!!
Para quem não compreende o porque de tantos atalhos ("porque utilizar Ctrl + b se tem a seta".... =/), é porque nunca se deu a chance de testar e pegar o "ritmo da coisa". Depois de um tempo as coisas ficam naturais... como utilizar a seta...só que com muito mais poder!!! =]