Editar textos é a tarefa mais comum de qualquer usuário de computador. Seja para responder um e-mail, criar um documento ou codificar um programa, lá estará o usuário digitando texto para a máquina. Embora faça isso diariamente, a grande maioria não faz um uso otimizado do seu editor de textos. Muito tempo é perdido em tarefas repetitivas e vícios de uso.
Este artigo é um guia para acabar com o sofrimento de pessoas viciadas em segurar teclas. Seja para movimentar o cursor ou para apagar grandes quantidades de texto, lá está o usuário estático segurando uma setinha ou a tecla Del por alguns preciosos segundos. Ao longo do dia esses segundos podem se tornar minutos, e ao longo dos meses, horas.
Evitando este desperdício de tempo, entra em cena o melhor editor de textos de todos os tempos: o VI. Concebido numa época quando conexões remotas eram muito lentas, editar um texto tinha que envolver apertar o menor número de teclas possível. Hoje as conexões são rápidas, mas o conceito de "menos teclas, melhor" ajuda a poupar tempo na rotina diária de editar textos.
As setinhas são para perdedores
Quanto mais você usa as setas, mais tempo perde. Basicamente se usam as setas para movimentar o cursor no arquivo. Para ir ao meio da frase, o usuário fica segurando a seta até chegar no ponto desejado. Para ir ao início do parágrafo anterior, seta pra cima, depois seta para a esquerda. O VI provê vários comandos que servem para dar "pulos" a outros pontos do arquivo, evitando gastar a ponta do seu dedo segurando a seta.
Seja na alteração de um texto já existente ou na composição de um novo, a edição nunca é linear. Editar um texto consiste em visitar diversas partes do documento, alterando e inserindo letras e palavras. Saber como chegar rapidamente a qualquer ponto do documento, apertando o menor número de teclas possível, é ser ágil e economiza tempo.
Os pulos mais conhecidos e que já possuem tecla especial no teclado
são Home e End, que vão ao início e fim da linha e PgUp/PgDn
que pulam páginas. O VI possui comandos para pular a outras partes do
arquivo, são eles:
| Comando | Ação |
|---|---|
| gg | Pula para a primeira linha |
| G | Pula para a última linha |
| :44 | Pula para a linha número 44 |
| { | Pula para o parágrafo anterior |
| } | Pula para o próximo parágrafo |
| ( | Pula para a frase anterior |
| ) | Pula para a próxima frase |
| 0 | Pula para o início da linha atual |
| $ | Pula para o fim da linha atual |
| `` | Desfaz o pulo, volta |
Estes são os pulos básicos que todo usuário do VI deve saber.
Com eles é possível "navegar" no documento de maneira rápida,
independente de qual o seu conteúdo. Lembre-se que eles são válidos
fora do modo de inserção (é preciso apertar <Esc> antes).
Se, por exemplo, lá no meio do texto você precisar voltar à primeira
linha para checar uma frase, faz <Esc>gg e depois `` para voltar a
editar o texto na posição original.
Assim como outros comandos do VI, os pulos também podem ser
quantificados. Basta adicionar um número na sua frente. Assim, o
comando 5{ volta cinco parágrafos.
Além destes pulos para posições fixas, também é possível pular para
uma posição qualquer onde esteja o texto desejado. Basta utilizar o o
comando /, que procura adiante por um texto. Para ir até a próxima
palavra "Linux", digite /Linux<ENTER>. Com o comando n (de Next),
pula-se para as próximas ocorrências da mesma palavra. O N
(maiúsculo) volta para a anterior.
Um atalho útil é o comando *, que procura a próxima ocorrência da
palavra atual do cursor. Similar ao exemplo de pesquisa anterior,
bastaria posicionar o cursor sob a palavra "Linux" e apertar o
asterisco. Para uma busca mais confortável, basta colocar no
~/.vimrc a seguinte linha mágica set ic is hls scs.
Um outro pulo rápido e muito útil é o comando w (de Word), que pula
para o início da próxima palavra. Apertar a tecla "w" três vezes faz o
cursor avançar três palavras, e o comando 7w avançará sete palavras.
O comando similar é o b (de Back), que pula para palavras
anteriores.
E por último, o pulo mais avançado é o de procurar um caractere na
mesma linha, com o comando f (de Find). Por exemplo, para ir para a
próxima vírgula, o comando é f, e para a vírgula anterior (à
esquerda) é F,. A diferença é o comando em maiúscula ou minúscula. O
comando 3fa pulará para a terceira letra "a" após o cursor, na mesma
linha.
Para ilustrar estes pulos, uma figurinha. Com o cursor sempre sob a letra
N, são citados alguns comandos e as setas indicam para onde o
cursor pulará.

Pulando rapidamente para a posição certa, o próximo passo é fazer a alteração necessária no texto. Nessa hora o VI também é imbatível.
A tecla Del é para perdedores
Ficar segurando a tecla Del até apagar o trecho desejado é demorado e impreciso, freqüentemente apagando mais do que o desejado. O VI provê meios de apagar grandes quantidades de texto apertando somente duas ou três teclas.
O comando x apaga caracteres à direita do cursor. Se for preciso
apagar 20 caracteres, em vez de ficar segurando a tecla "Del" alguns
segundos, basta digitar o comando 20x.
O comando d (de Delete) apaga caracteres ou linhas, dependendo de
como é utilizado. Apertando dd apaga-se a linha toda. Já 5dd apaga
as próximas cinco linhas. O comando D maiúsculo, apaga do cursor até
o final da linha.
Mas a brincadeira de apagar começa a ficar divertida ao combinar o
comando delete com os pulos já vistos. Basta usar a forma d<pulo>.
| Comando | Ação |
|---|---|
| dgg | Apaga até o início do arquivo |
| d0 | Apaga até o início da linha atual |
| dw | Apaga a palavra |
| d4b | Apaga as quatro palavras anteriores |
| df. | Apaga até o próximo ponto |
| d) | Apaga até o fim da frase |
O comando apagará todo o texto desde a posição do cursor até o destino
do pulo. Acostume a sempre "falar" o comando, para ficar mais fácil
memorizá-lo. Por exemplo, o df. é "Delete Find Ponto", ou seja
"Apague até Encontrar um Ponto".
O comando d permanece no modo de comandos após apagar o texto. Caso
o usuário queira acrescentar algum texto no lugar do antigo, primeiro
será necessário entrar no modo de inserção (comando i). Para
economizar esse passo, existe o comando c (de Change), que é
idêntico do d, com a diferença de retornar automaticamente ao modo
de inserção.
Uma maneira rápida de trocar a palavra "UNIX" por "Linux" é posicionar
o cursor na letra "U" e digitar cwLinux. Este comando se lê "Change
Word Linux".
Às vezes, não são grandes quantidades, mas alterações de um caractere
que precisam ser feitas. Até nessa hora o VI ajuda. Use o comando r
(de Replace) para trocar um caractere por outro, sem precisar entrar
no modo de inserção. Por exemplo, na palavra "Lenux", posicione o
cursor na letra "e" e aperte ri.
Cada texto removido com os comandos x, d, c e r, é
automaticamente copiado, e pode ser colado em outra parte do
arquivo com o comando p (de Paste). Então a operação de mover texto
no arquivo envolve apagá-lo, pular para a posição nova e colar.
Outro comando muito frequente de utilizar é o xp, que apaga um
caractere e o cola uma posição à direita. Para corrigir a
palavra "Liunx", basta posicionar o cursor na letra "u" e apertar
xp. Parece bobo, mas é muito comum encontrar erros desse tipo em
textos, onde duas letras estão com a posição trocada.
Para finalizar, uma tarefa corriqueira que é apagar trechos grandes de um arquivo, como "todas as linhas daqui até o início do arquivo" ou "todas daqui até o fim". Um verdadeiro pesadelo para os seguradores de teclas; já imaginou ficar segurando o Del ou o BackSpace durante minutos num arquivo grande?
Em alguns editores, pode-se usar o mouse para selecionar texto. Com um
pouco de paciência e persistência, em alguns segundos consegue-se
selecionar todo o texto e apertar Del. Outros mais espertos podem usar
o teclado segurando o Shift para selecionar e apertar Ctrl+End para
espichar a seleção até o fim do arquivo, e finalmente apertar a tecla
Del. No VI, basta um simples dG para apagar até o fim e um dgg
para apagar até o começo. Mais prático impossível.
Todos estes comandos poupam tempo e têm precisão, mas seu uso deve ser forçado, pois é muito difícil abandonar o vício de segurar teclas. Depois de memorizar estes comandos e se disciplinar a usá-los, você não terá mais paciência de usar "outros editores" que lhe fazem perder segundos preciosos.
Artigo publicado na Revista do Linux edição 49 (a última), de Janeiro de 2004.
Por Aurélio Marinho Jargas - http://aurelio.net
