slogan
Visite também: BR-Linux.org · Dicas-L · SoftwareLivre.org · UnderLinux

Linux banner
Linux banner


» Screenshot
ubuntu por um tempo mais
Por rsfreitas

Dica

VI - O fantástico editor de textos
Linux user
Publicado por Leonardo Berbert Gomes em 02/12/2009

Login: leoberbert, 1389643 pontos | Blog: http://br.linkedin.com/pub/leonardo-berbert/20/969/23a
[ Hits: 29965 ]

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

Leitura recomendada
   Dica Linux recomendada Ativando e desativando a placa de rede em um Telecentro (Metasys)
   Dica Linux recomendada Compartilhar impressora multifuncional HP PSC1315 no Samba
   Dica Linux recomendada Assinatura personalizada no e-mail (Evolution e Gmail)
   Dica Linux recomendada Utilizando MSMTP para enviar e-mail com subject pela linha de comando
   Dica Linux recomendada Driver NVIDIA no LMDE 2014

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade GNU/Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda.