VI - O fantástico editor de textos

Publicado por Leonardo Berbert Gomes em 02/12/2009

[ Hits: 168.691 ]

Blog: https://www.linkedin.com/in/leoberbert

 


VI - O fantástico editor de textos



Resolvi escrever este guia depois de vastos anos de experiências com este fantástico editor de textos, o qual tornou-se o meu preferido dentre tantos outros. Outra coisa que me motivou bastante foi devido ao fato de sempre haver um número expressivo de dúvidas na sessão de perguntas. Espero que o mesmo contribua para o aprendizado de todos.

O VI é um dos editores de texto mais populares em sistemas de tipo Unix/Linux. Apesar da sua ergonomia muito limitada, este editor é fantástico, com ele é possível fazer coisas inacreditáveis. Muitos usuários do mundo Unix/Linux preferem optar por outros editores devido sua complexidade, como joe, elvis, nano, pico, mcedit, emacs etc. Vale ressaltar que este artigo não tem como finalidade levantar nenhuma discussão quanto a preferência dos usuários com relação aos outros editores de textos.

Um pouco de história

O programa foi criado por Bill Joy em 1976 para o BSD. O nome VI é uma forma abreviada para visual. Em 1991 foi lançado o editor vim, uma derivação melhorada do vi (o nome vim é abreviação para Vi IMproved, ou Vi Melhorado). Ele está presente em quase todas as distribuições Linux, oferecendo mais recursos que seu antecessor.

Usuários do editor Emacs, que também surgiu em 1976, acabam sempre gerando discussões com usuários mais assíduos do vi por questões de gosto pessoal, apesar de que o padrão Unix exige a presença do editor vi, o que o torna mais disseminado.

Como é pequeno e leve, pode ser colocado dentro de disquetes para ser utilizado em manutenção ou mesmo usado em situações em que há pouco recurso computacional.

Fonte: http://pt.wikipedia.org/

Guia de comandos

Sintaxe para executar o vi:

vi nome_do_arquivo

Uma vez carregado, poderão ser executados os seguintes comandos dentro do vi.

Comandos básicos:
  • :wq - Salva o arquivo e sai do editor
  • :w nome_do_arquivo - Salva o arquivo corrente com o nome especificado
  • :w! nome_do_arquivo - Salva o arquivo corrente no arquivo especificado
  • :q - Sai do editor
  • :q! - Sai do editor sem salvar as alterações realizadas

Comandos de inserção:
  • i - Insere texto antes do cursor
  • a - Insere texto depois do cursor
  • r - Insere texto no início da linha onde se encontra o cursor
  • A - Insere texto no final da linha onde se encontra o cursor
  • o - Adiciona linha abaixo da linha atual
  • O - Adiciona linha acima da linha atual

Comandos de movimentação:
  • Ctrl+f - Move o cursor para a próxima tela
  • Ctrl+b - Move o cursor para a tela anterior
  • H - Move o cursor para a primeira linha da tela
  • M - Move o cursor para o meio da tela
  • L - Move o cursor para a última linha da tela
  • h - Move o cursor um caractere a esquerda
  • j - Move o cursor para a próxima linha
  • k - Move o cursor para linha anterior
  • l - Move o cursor um caractere a direita
  • w - Move o cursor para o início da próxima palavra (Ignora a pontuação)
  • W - Move o cursor para o início da próxima palavra (Não ignora a pontuação)
  • b - Move o cursor para o início da palavra anterior (Ignora a pontuação)
  • B - Move o cursor para o início da palavra anterior (Não ignora a pontuação)
  • 0 - Move o cursor para o início da linha atual
  • ^ - Move o cursor para o primeiro caractere não branco da linha atual
  • $ - Move o cursor para o final da linha atual
  • nG - Move o cursor para a linha n
  • G - Move o cursor para a última linha do arquivo

Comandos de busca:
  • /palavra - Busca pela palavra ou caractere em todo o texto
  • ?palavra - Move o cursor para a ocorrência anterior da palavra
  • n - Repete o último comando / ou ?
  • N - Repete o último comando / ou ? , na direção reversa
  • Ctrl+g - Mostra o nome do arquivo, o número da linha corrente e o total de linhas

Comandos de substituição e deleção:
  • x - Deleta o caractere que esta sob o cursor
  • dw - Deleta a palavra, da posição atual do cursor ate o final
  • dd - Deleta a linha atual
  • D - Deleta a linha a partir da posição atual do cursor ate o final
  • rx - Substitui o caractere sob o cursor pelo especificado em x(é opcional indicar o caractere)
  • Rx - Substitui a palavra sob o cursor pela palavra indicada em x
  • u - Desfaz a última modificação
  • U - Desfaz todas as modificações feitas na linha atual
  • J - Une a linha corrente a próxima
  • s:/Linux/Unix - Substitui a primeira ocorrência de "Linux" por "Unix"
  • s:/Linux/Unix/g - Substitui a ocorrência de "Linux" por "Unix" em todo arquivo

Outras dicas deste autor

Instalando a última versão do ZSH

Rodando (ElasticSearch + Kibana) em 5 minutos

Configurando o GitHub em 2 minutos

Rundeck - alterando a senha de admin

Trabalhando com JSON no terminal? O jq salva você!

Leitura recomendada

Configurar driver wireless RTL 8191SEvA no Slackware 13.37

Turbinando os programas do XP no Ubuntu

Área de Troca (swap)

Redmine no CentOS - Instalação rápida e simples

Acessando compartilhamento samba com konqueror

  

Comentários
[1] Comentário enviado por removido em 02/12/2009 - 16:27h

e pra quem quiser aprender "editando", basta usar o comando "vimtutor"


iron@xxxxxx:~$ vimtutor


Ele abre um TXT editável, que no corpo dele, há instruções(em inglês) de como editar textos e fazer movimentação =)

[2] Comentário enviado por leoberbert em 02/12/2009 - 16:31h

Caro Ironmaniaco,

Lembro-lhe, que esta dica é destinada ao VI e não ao VIM. Mas foi boa a sua colocação.

[ ]'s leoberbert

[3] Comentário enviado por axpira em 06/12/2009 - 22:49h

leoberbert,

Boa, eh bom um basico, a primeira vez que abri o VI nao consegui sair! kkkkkkkkk

na primeira lista de comandos esta assim:
Comandos de inserção:

* i - Insere texto antes do cursor
* a - Insere texto depois do cursor
* r - Insere texto no início da linha onde se encontra o cursor
* A - Insere texto no final da linha onde se encontra o cursor
* o - Adiciona linha abaixo da linha atual
* O - Adiciona linha acima da linha atual


Porem o r substitui o caracter, o que insere texto no inicio da linha eh o I

Att,

Thiago Ferreira

[4] Comentário enviado por lend em 05/05/2010 - 10:17h

s:/Linux/Unix/g - Substitui a ocorrência de "Linux" por "Unix" em todo arquivo ( ESTE SUBSTITUI APENAS NA LINHA CORRENTE E O CORRETO É :s/ANTIGA/NOVA/g)

:%s/ANTIGA/NOVA/g ESTE SIM SUBSTITUI EM TODO O ARQUIVO...







[5] Comentário enviado por victor_romano em 11/11/2010 - 08:56h

Boa dica.
Me ajudou e com certeza vai ajudar outros.
Parabéns!

[6] Comentário enviado por cfavre em 27/10/2014 - 17:59h

Ao fazermos uma alteração em um arquivo pelo VI, o mesmo informa a linha que foi alterada. O log desta informação fica armazenado em algum local ? Preciso descobrir quem alterou, ou quando foi alterada uma determinada linha de um script, para tratar um incidente de segurança. O servidor não tinha o Linux Audit habilitado.


Att,

Charles Favre



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts