segunda-feira, 10 de agosto de 2020

Comandos úteis do Editor VI

 O editor VI é o editor básico do Unix/Linux.

Para invocar o editor digita-se: vi arquivo(s).

Ao invocar o VI, este entra direto para o modo 'visualização'. Para modificar o arquivo, usa-se os modos de inserção, deleção e de substituição. Para voltar ao modo de visualização, sempre se usa a tecla <ESC>.

Alguns dos comandos mais usados são:

    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 - insere texto no início da próxima linha (inserindo uma nova linha).
  • O - insere texto no início da linha anterior (inserindo uma nova linha).

OBS: Para sair do modo de inserção de caracteres, digite <ESC>.

    Deleção de caracteres:
  • <DEL> - deleta a letra anterior ao cursor (depende da configuração).
  • x - deleta a letra do cursor (nx deleta as próximas n letras).
  • dw - deleta o restante da palavra atual (ndw deleta as n próximas palavras).
  • u - undelete (restaura o que foi apagado por último ou apaga o que foi inserido por último).
  • dd - deleta a linha atual (ndd deleta n linhas a partir da atual).
    Substituição de caracteres:
  • s - substitui a letra atual (e entra no modo de inserção).
  • S - substitui a 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>).
  • ~ - substitui maiúsculo/minúsculo.
  • . - repete o último comando.
    Movimentação de cursor (em algumas situações as setas funcionam):
  • j - uma linha para baixo
  • k - uma linha para cima
  • h - um caractere para a esquerda
  • l - um caractere para a direita
  • b - volta para o início da palavra.
  • w - adianta para a próxima palavra.
  • e - vai para o fim da palavra.
  • 0 - início da linha
  • $ - fim da linha
  • nG - vai para a linha n (0G ou G vai para a ultima linha).
  • % - usado em parênteses para achar o par.
  • +n - vai + n linhas para baixo.
  • -n - vai n linhas para cima.
    Busca de palavras:
  • /palavra - procura palavra a partir da atual.
  • ?palavra - procura palavra a partir da atual (voltando para o início do arquivo).
  • n - procura próxima ocorrência (na mesma direção de busca).
    Operações com buffers:
  • nyy - coloca n linhas no buffer (copiar).
  • nY - coloca n linhas no buffer (copiar).
  • ndd - deleta as n linhas (a partir da atual) e coloca no buffer (copiar).
  • p - retira o conteúdo do buffer (colar) e coloca após a linha atual.
  • P - retira o conteúdo do buffer (colar) e coloca antes da linha atual.
    Operações de bloco:
  • ml - marca a linha l (mx marca a linha x, etc usando o alfabeto).
  • 'a - vai para a linha marcada a.
    Para ler ou escrever o arquivo (ou parte dele) usa-se os comandos:
  • :r arquivo - ler o arquivo para dentro do arquivo atual, a partir do local atual.
  • :w [arquivo] - escreve o arquivo
  • :q - sai sem modificar o arquivo (se foi alterado tem que usar :q!).
  • :wq - sai, salvando o arquivo editado.
  • ZZ - sai, salvando o arquivo editado.
  • :'a,'b[operação] - realiza a operação no bloco contido entre as marcas a e b.
  • :d - deleta a linha atual (útil como operação de blocos).
  • :s/string1/string2/ - substitui o string1 por string2