Olá pessoal, hoje irei falar um pouco sobre o uso básico do vi para edição de arquivos.

O Visual Editor – vi, em algumas distribuições de servidores é o editor de texto mais utilizado, possuindo diversos atalhos de teclado. Abaixo falarei basicamente dos 3 modos de execução do “vi”, que são utilizados de maneira distinta e logo após trarei duas pequenas tabelas para facilitar o nosso dia-a-dia.

Modo de navegação

Modo inicial do vi, em que as teclas do teclado são utilizadas basicamente para navegação e edição de blocos de texto. Na maioria das vezes os comando são executados com únicas letras, se for utilizado com um número, será executado o número de vezes do valor do número.

Modo de inserção

Modo usado para inserir valores de texto no documento. O comando mais utilizado para iniciar este modo é o “i”, e a tecla “Esc” é utilizada para sair do modo de inserção e retornar para o modo de navegação.

Modo de comando

Modo utilizado para realizar buscas, salvar, sair, executar comandos no shell, alterar configurações do vi, etc. É iniciado com a tecla “:”  e para retornar ao modo de navegação, usa o comando “visual” ou a tecla “Enter” com a linha vazia.

Tabela de teclas de navegação

Tecla Efeito
0, $ Início / fim de linha.
1G, G/td> Início / fim de documento.
(, ) Início / fim de sentença.
{, } Início / fim de parágrafo.
w, W Pular palavra / pular palavra contando com a pontuação.
h, j, k, l Esquerda, abaixo, acima, direita.
/, ? Busca para a frente / para atrás.
i Entra no modo de inserção na posição atual do cursor.
a, A Entra no modo de inserção após o cursor / entra no modo de inserção no fim da linha.
o, O Adiciona linha e entra no modo de inserção depois do cursor / adiciona linha e entra no modo de inserção antes do cursor.
s, S Apaga item e entra no modo de inserção / apaga linha e entra no modo de inserção.
c Modifica um item com a inserção de texto.
r Substitui um único caractere.
x Apaga um único caractere.
y, yy Copia um item / Copia toda a linha.
p, P Cola o conteúdo copiado depois do cursor / cola o conteúdo copiado antes do cursor.
u Desfazer.
ZZ Fecha e salva, se necessário.
ZQ Fecha e não salva.

Alguns comandos do vi

Comando Finalidade
:! Permite executar um comando do shell.
:quit ou :q Fecha.
:quit! ou :q! Fecha sem gravar.
:wq Salva e fecha.
:exit ou : x ou :e Fecha e grava, se necessário.
:syntax on / off Habilita ou desabilita a syntax highlighting.
:set number / off Habilita a numeração de linhas.
:10 Navega para a linha de número 10.
:visual Volta para o modo de navegação.