Blog

Utilizando o editor VI

TAGs: FreeBSD Linux

Galera essa vai para quem mexi com servidores Unix/Linux e sempre (meu caso) tem problemas com o editor VI que por sinal tem seus méritos.

Porque usar o VI?

                Ele é um dos editores mais conhecidos em sistemas Unix/Linux, com ele é possível executar coisas inacreditáveis para um editor comum.

                Vários do usuário de servidores Unix/Linux preferem optar por outros editores já que o VI tem uma complexidade na sua utilização.

Como utilizar este tal de VI?

                Para a utilização de um editor normalmente segue um padrão que  é -> editor arquivo, ou seja:

 vi arquivo

                Onde que o arquivo nada mais é que um arquivo do diretório atual ou um caminho e/ou nome de um arquivo presente em algum lugar do sistema de arquivos.

                Uma vez executado, o VI entra no modo de visualização e aguada os comandos direto do usuário final. Para entrar no modo de edição que permite alterar o texto do arquivo, tecle <Insert>, enquanto o usuário estiver no modo edição o VI não recebe comandos e sim textos, para que o VI volte ao modo visualização tecle<ESC>.

Agora que vocês já possuem uma base no VI segue abaixo uma lista de comando que acabam tornando o VI uma ferramenta incrível de edição de texto:

Inserção de caracteres

i - insere texto antes do caractere atual.

I - insere texto no início da linha atual.

a - insere texto após o caractere atual.

A - insere texto no final da linha atual.

o - abre uma linha abaixo da atual e insere texto nela.

O - abre uma linha acima da atual e insere texto nela.

 

Observação:

Para sair do modo de inserção de caracteres, pressione <ESC>.

 

 Exclusão de caracteres:

<DEL> - exclui a letra anterior ao cursor (depende da configuração).

x - exclui a letra sob o cursor.

nx - exclui as próximas n letras.

dw - exclui o restante da palavra atual (a partir do cursor).

ndw - exclui as n próximas palavras.

dd - exclui a linha atual.

ndd - exclui n linhas a partir da atual.

u - desfazer. Restaura o que foi apagado por último ou apaga o que foi inserido por último.

 

 

 Substituição de caracteres:

s - apaga a letra atual e entra no modo de inserção.

S - apaga o conteúdo da linha atual e entra no modo de inserção.

r - substitui a letra atual (não entra no modo de inserção).

R - entra no modo de substituição (sai com <ESC>).

~ - inverte a caixa da letra atual (troca maiúscula por minúscula e vice-versa).

. - repete a última alteração.

 

 Busca de palavras:

/palavra - procura palavra a partir da posição atual.

?palavra - procura palavra no sentido contrário (na direção do começo do arquivo).

n - procura próxima ocorrência da última palavra procurada (na mesma direção em que foi buscada).

# - destaca todas as ocorrências iguais à palavra onde o cursor está posicionado.

 

 Operações de bloco:

:'a,'b[operação] - realiza a operação no bloco contido entre as marcas a e b.

:d - exclui a linha atual (útil como operação de blocos).

:s/string1/string2/ - substitui string1 por string2

mx - marca a posição atual como x (pode ser usada qualquer letra do alfabeto).

`x - vai para a posição previamente marcada como x.

 

Para ler ou escrever o arquivo (ou parte dele) usam-se os comandos:

:r arquivo - inserir o conteúdo do arquivo na posição atual do arquivo que está sendo editado.

:w - salva alterações.

:w abc - grava arquivo com o nome abc.

:q - sai se o arquivo não foi modificado.

:q! - sai descartando quaisquer alterações não gravadas.

:wq - sai, salvando o arquivo editado.

ZZ - sai, salvando o arquivo editado.