Olá Usuários Linux, quem não adora “sofrer” um pouco com o Editor VI ? Eu, particularmente não troco o vi por nada. Aliás, cada coisa no seu lugar: o vi é para configuração do sistema, um editor simples, básico e nativo do Linux desde sempre.
Então, não pense que você vai escrever uma carta ou programar usando o vi, mas configurar o Linux em si é a melhor coisa.
Por isso resolvi colocar este artigo, na verdade ele servirá até para mim para uma fonte de consulta sobre como usar o vi, pois são tantos atalhos que realmente ajudam na hora de utilizar este editor de textos.
Mas para situar todos, vou começar do mais básico possível, depois avançando para os comandos/atalhos mais sofisticados.
Importante: Ao entrar no vi o programa está aguardando um comando. Não adianta você ir digitando sem parar que pouca coisa irá acontecer. Por exemplo, se você digitar dd apagará a linha, se digita a ele começa a digitar o que você colocar.
Em alguns comandos, é necessário apertar o [esc] para parar o comando, por exemplo no comando a para começar a editar, ele vai digitando tudo que você colocar até apertar a tecla [esc]. Mas fique tranquilo, está tudo explicado abaixo.
Sumário
Comandos e atalhos para utilizar o Editor VI
Por padrão da informática, colocarei <entre sinais maior e menor> os nomes que você deve fornecer e [entre colchetes] as opções ou teclas.
Abrir o VI
- vi <arquivo> – Abrir um novo ou existente arquivo
- vi -r <arquivo> – Recuperar um arquivo que estava aberto quando o sistema travou (raro, mas pode acontecer)
Sair do VI
- :wq [enter] – Sair e salvar o arquivo
- :q! [enter] – Para sair sem salvar o arquivo
- :q [enter] – Para sair se o arquivo não foi modificado
Movimentação do cursor
- j ou [enter] ou [seta-baixo] – Mover uma linha para baixo
- k ou [seta-cima] – Mover uma linha acima
- h ou [backspace] ou [seta-esquerda] – Mover para esquerda
- l ou [espaço] ou [seta-direita] – Mover para a direita
- $ – Mover para o fim da linha atual
- 0 (zero) – Mover para o início da linha atual
- w – Mover o cursor para a próxima palavra
- b – Mover o cursor para a palavra anterior
- :0 [enter] ou 1G – Mover o cursor para a primeira linha do arquivo
- :<linha> [enter] ou <linha>G – Mover o cursor para uma linha específica
- :$ [enter] ou $G – Mover o cursor para a última linha do arquivo
Editando, Adicionando e Apagando textos
- u – Desfazer alterações
- i – Inserir texto antes do cursor ([esc] termina a ação)
- I – Inserir texto no começo da linha ([esc] termina a ação)
- a – Inserir texto depois do cursor ([esc] termina a ação)
- A – Inserir texto no final da linha ([esc] termina a ação)
- o – Abre uma linha após da atual e coloca o texto ([esc] termina a ação)
- O – Abre uma linha antes a atual e coloca o texto ([esc] termina a ação)
- r – Muda o caractere que está atual no cursor
- R – Muda os caracteres a partir da posição atual ([esc] termina a ação)
- cw – Muda a palavra atual com o texto a ser digitado ([esc] termina a ação)
- c<quantidade>w – Muda n palavras começando da atual com o texto a ser digitado ([esc] termina a ação)
- C – Muda os caracteres na linha atual ([esc] termina a ação)
- cc – Muda todo o conteúdo da linha atual ([esc] termina a ação)
- x – Apaga o caractere atual do cursor
- <numero>x – Apaga n caracteres começando com o atual
- dw – Apaga a palavra atual
- d<numero>w – Apaga n palavras começando da atual
- dd – Apaga uma linha inteira
- <numero>dd – Apaga n linhas a contar da atual
Copiando e Colando no VI
Copia a linha atual para a área de transferência
- yy – Copia a linha atual para a área de transferência
- <numero>yy – Copia n linhas a contar da atual para a área de transferência
- p – Cola (paste) o que tem na área de transferência
Pesquisar texto
/<texto>[enter] – Pesquisa pelo texto digitado a partir do local atual
?<texto>[enter] – Pesquisa pelo texto digitado antes do local atual
/[enter] ou n – Pesquisa a próxima ocorrência em direção ao fim do arquivo
N -Pesquisa a próxima ocorrência em direção ao início do arquivo
Contando as linhas do arquivo
- :.= – Mostra o número da linha atual no final da tela
- := – Mostra o número total de linhas no final da tela
- ^g – Mostra o número da linha atual e o número total de linhas no final da tela
Salvando e inserindo arquivos
- :w[enter] – Salva o arquivo atual
- :wq[enter] – Salva e sai do vi
- :w <arquivo>[enter] – Salva o conteúdo atual em outro arquivo
- :5,20w <arquivo>[enter] – Salva o conteúdo entre as linhas 5 e 20 no novo arquivo
- :r <arquivo>[enter] – Lê o conteúdo do <arquivo> e coloca abaixo da linha atual.
É um pena você não tem um botão de doação! Еu gostaria
sem Ԁúvida doar a este fantástico blog! Eu suponha pois
ɑgora eᥙ vou contentar bookmarking е adicionar o seu RSS feed рara minha
conta ɗo Google. Estou ansioso ⲣara novߋ atualizaçõеѕ e vontade compartilhar isto local cоm meu grupo no Facebook.
Bate-papo еm breve!
Obrigado
o – Abre uma linha antes da atual e coloca o texto ([esc] termina a ação)
O – Abre uma linha após a atual e coloca o texto ([esc] termina a ação)
Os comandos estão invertidos!
Valeu Marcius, correto. Já corrigi.
Abraços e obrigado.