Blog
Utilizando o editor VI
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.