Comandos do editor de texto Vim Vi

Introdução

vi é a sigla para “Visual Interface”. A origem desse nome se deve ao seguinte fato: quando o vi foi criado (começo da década de 80), não era comum existirem editores de textos como nos dias de hoje. Naquela época, você digitava um texto mas não podia vê-lo! Isso mesmo! Em 1992, foi criado o vim (Vi IMitator), um clone fiel ao vi, porém com muitas outras funcionaliades, que só foram sendo adicionadas. Algum tempo depois, o vim passou a ser chamado de `Vi IMproved’ (vi melhorado).

O vim é um dos editores de textos mais utilizados no mundo Unix. Em alguns sistemas, existe um link simbólico (/bin/vi) apontando para o /usr/vim. Em outros, o /bin/vi é o executável, só que executa diretamente o vim. Muita gente acha que usa vi, mas na verdade utiliza o vim, e eles têm algumas diferenças. O que você verá abaixo fala sobre o vim.

O vim é um editor de textos muito poderoso, ele pode: abrir vários arquivos ao mesmo tempo, possui sistema de autocorreção, auto-identação, seleção visual, macros, seleção vertical de texto, uso de expressões regulares, sintaxe colorida, e muito mais. Ele não é exclusivo do Unix, ou seja, pode ser executado em outras plataformas, como Amiga, MacOS, Sun, Windows entre outras.

Existe também o gvim, que é o vim em modo gráfico, com todas as funcionalidades do vim em pleno funcionamento, o que muda é apenas o modo gráfico mesmo.

O vim possui vários modos, ou seja, estados em que ele se encontra. São eles: modo de inserção, comandos, linha de comando, visual, busca e reposição. Abordarei os dois principais:

Modo de inserção e de comandos

Para identificar o modo (estado) do vim, basta visualizar o rodapé da tela.

Agora, vamos à prática. Para executar o vim, utilize:

Ao executar o vim, ele inicia diretamente em modo de comando. Para comprovar, é só olhar na última linha (rodapé) e não vai haver nada lá. Isso quer dizer que você não conseguirá escrever nada, pode digitar a vontade que só vai ouvir beeps. Para começar a escrever, pressione “i” em seu teclado. O vim entra em modo de inserção, que você comprova (como falado anteriormente) pelo rodapé da tela, onde fica a seguinte marcação:

Suponha que você já digitou o bastante, e quer salvar, por segurança. Pressione a tecla ESC para voltar em modo de comandos. E veja os comandos para salvar/sair:

Então, você editou uma boa quantidade de textos e quer salvar:

:w

Agora, quer voltar a editar o texto:

i

Lembre que utilizando o “i” para inserção, a mesma se inicia inserindo texto antes do cursor. Veja agora outros subcomandos de inserção de texto:

Voltando ao modo de comando:

Veja agora subcomandos para movimentação pelo texto:

(susbstitua n pelo número da linha)..

Copiando e colando textos no vim (utilizando o mouse)

Selecione o texto necessário com o botão esquerdo do mouse. Quando você for colar, saiba que o texto será colado a partir de onde se encontra o cursor (esse que aparece, às vezes piscando e às vezes não, quando você está digitando). Para colar, depois de ter selecionado o texto, você pode utilizar uma dessas opções:

Observação: Lembre-se que o vim deve estar no modo de inserção.

Usando o modo visual do vim

Entre no modo visual: v Agora, utilize as teclas direcionais (setas) do teclado, para selecionar o texto desejado. Pressione e cole, utilizando a tecla “p” (paste).

Veja agora como apagar um determinado texto:

Utilizando normalmente as teclas Backspace/Delete, ou entrando em modo visual (v) e pressionando a tecla Delete.

Você pode remover até o final de uma palavra, utilizando: dw Pode também remover até o final de uma frase: d$

Desfazendo uma ação

É claro que você pode desfazer uma ação que você considera errado, ou que errou ao digitar o texto. É só utilizar: u Se você precisar voltar o texto na tela, utilize as teclas Ctrl + r.

Subcomandos para localização de texto

Subcomandos para localização de texto

Mais opções para remoção de caracteres

Mais para copiar e colar

Opções para substituição de textos

Abreviações

Observação: Pontuação, espaço ou o ENTER, disparam a expansão de uma abreviação. Porém, Ctrl+] também pode ser usado, para expandir sem adicionar caracteres.

Opções para o comando SET

:set

Agora invertendo maiúsculas/minúsculas

Observação: Onde está escrito “seleciona”, é para fazer utilizando o modo visual (v).

Agora veja como definir coluna de quebra de linha (problema que eu tive quando iniciei no aprendizado do vim):

:set textwidth=N

Se você já estiver num arquivo pronto:

Vamos ver agora o que podemos fazer pressionando a tecla “Ctrl”:

É claro que é segurando Ctrl + .

No modo de COMANDO:

Agora, no modo de INSERÇÃO:

Veja os caracteres especiais:

Exemplos: Para fazer um º, use Ctrl+K,-,o (“Ctrl”+”K”+”-“+”o”). Para fazer um ½, use Ctrl+K,1,2 (“Ctrl”+”K”+”1”+”2”).

Trabalhando com arquivos e janelas múltiplas

Você pode abrir múltiplos arquivos, por exemplo:

vim arquivo1 arquivo2

E pode alternar entre as janelas. Veja:

Tecla chave das janelas = Crtl+W

Os registradores

Observação: O [a-z] pode ser: 0-9a-z%#:.-=”

Marcas:

Fazendo gravação de seqüência de comandos

Dica: Pode-se colocar o @[a-z] dentro da própria gravação do q[a-z]! Assim ele é executado recursivamente. Muito útil quando há uma procura de padrões na gravação. faz para todas as ocorrências.

Mapeamentos

Exemplos:

“html: negrito no trecho selecionado :vmap d`pa # html: negrito no trecho selecionado

“liga/desliga autoIndent :map ,si :set ai!:echo “autoIndent=”&ai

“mostrar os espaços em branco no fim das linhas :map / *$^M

Através dos mapeamentos é possível “encurtar” comandos, ou seja, abreviá-los. Conheça as sintaxes:

Utilizando o recurso de expandtab

Mas, o que isso faz? Transforma todos os TABs em espaços. Podemos ativar dentro do próprio vim, utilizando o comando:

:set expandtab

Para desabilitar:

:set noexpandtab

Podemos colocar também no arquivo ~/.vimrc a seguinte linha:

set expandtab

O arquivo ~/.vimrc pode ser usado para muitas configurações, e essa é uma delas. Existe ainda o arquivo ~/.exrc, mas não entraremos em detalhes.

Podemos incluir a saída de um comando no vim, utilizando:

:r!comando

Por exemplo:

:r!rpm -q kernel

Incluiria o seguinte resultado, dentro do seu texto (isso na minha máquina):

kernel-2.4.18-3

Dicas diversas do vim:

:map N_ARQ ^R=expand(“%:t:r”)^M

Imprime no arquivo o próprio nome do arquivo editado quando N_ARQ é digitado.

Agora, veja como alinhar o texto:

:left :right :center

E para fazer uma busca de 2 palavras ao mesmo tempo: /palavra1|palavra2

O vim é um editor de textos com centenas de opções, comandos, strings… Enão dá para abordar tudo aqui. Por isso, a melhor maneira de conhecê-lo a fundo é usando-o.

Agora, veja quem colaborou com a criação das dicas, e de onde eu tirei tanta informação:

Agradeço a todos aqueles que contribuiram direta e/ou indiretamente com os tutoriais.

Dicas desenvolvidas e gentilmente cedidas por Copag. Publicado em 30_06_2003.

Via: InfoWester