O básico do editor Vi

O editor de texto de linha de comando (CLI) Vi, está sempre presente, na maioria das distribuições Linux.
Clique na tag editores-de-texto, para ler mais sobre o tema.
Neste texto, pretendo abordar alguns comandos mais comuns e básicos, para quem deseja obter uma ajuda rápida no uso do edito Vi.
Para esclarecer, existe um editor, chamado Vim — que é derivado do Vi, com uma série de aprimoramentos.
Tudo o que você apender sobre Vi, se aplica ao Vim, portanto.
vi text editor on Linux Konsole

Como abrir arquivos com o editor Vi

O Vi só pode abrir arquivos de texto puro, ok?
Para iniciar o aplicativo, com um arquivo pronto para a edição, use o comando acompanhado do nome dele:

vi nome-do-arquivo

Arquivos de configuração, que você só deseja olhar e não alterar, podem ser abertos com a opção ‘-R’:

vi -R nome-do-arquivo

### opcionalmente, pode usar o view:

view nome-do-arquivo

Você pode abrir um arquivo novo, de dentro do aplicativo, com o seguinte comando:
:o nome-do-arquivo

Como usar o editor Vi

Use sempre a tecla Esc, para ir para a linha de comando do editor, onde vocẽ pode dar as instruções.
Sempre que quiser sair, tecle Esc, seguido do comando ‘:q’.
Para sair sem gravar as alterações feitas no arquivo, use o comando ‘:q!’.
Para sair gravando, use o comando “:wq” ou ‘:x’.
Em tempo, ‘wq’ é sigla para write e quit.
Para mover o cursor, dentro do texto, use as teclas ‘j’, ‘k’, ‘h’ e ‘l’ — ou as setas direcionais.
Há várias outras teclas ou combinações de teclas, que fazem atalhos para funções do editor.
Para ajudar a memorizar, sugiro imprimir o conteúdo desta página.
Disponibilizei 2 papéis de parede, com os comandos básicos do Vi, ao final deste post, que você pode usar no seu computador, por algum tempo. 😉
Segue as teclas para movimentação do cursor, no texto:

  • 0 ou | — move o cursor até o início da linha
  • $ — move o cursor até o fim da linha
  • w — posiciona o cursor no final da próxima palavra
  • b — posiciona o cursor no início da palavra anterior
  • :0 — movimenta o cursor para o início do arquivo (texto)
  • :n — movimenta o cursor para o início da linha n
  • :$ — movimenta o cursor para o final do arquivo (texto)
  • ( — posiciona o cursor no começo da sentença atual
  • ) — posiciona o cursor no fim da sentença atual
  • { — movimenta o cursor para o parágrafo anterior
  • } — movimenta o cursor para o próximo parágrafo
  • [[ — move o cursor para a seção anterior dentro do texto
  • ]] — move o cursor para a próxima seção dentro do texto
  • n| — move o cursor para a coluna n, na linha atual
  • 1G — posiciona o cursor na primeira linha do texto
  • G — posiciona o cursor na última linha do texto
  • fc — posiciona o cursor na próxima ocorrência do caractere c
  • Fc — posiciona o cursor na última ocorrência do caractere c
  • H — move o cursor para o topo da tela
  • M — move o cursor para o meio da tela
  • L — move o cursor para o fim da tela

O Vi também faz uso da tecla Ctrl — Veja:

  • Ctrl + d — avança meia tela
  • Ctrl + f — avança uma tela inteira
  • Ctrl + u — volta meia tela
  • Ctrl + b — volta uma tela inteira
  • Ctrl + e — rola a tela uma linha para cima
  • Ctrl + y — rola a tela uma linha para baixo
  • Ctrl + u — rola meia tela para cima
  • Ctrl + d — rola meia tela para baixo
  • Ctrl + I — refresca a tela do editor
  • Ctrl + r — refresca a tela do editor, apagando as linhas marcadas para remoção

Como inserir conteúdo no arquivo:

  • i — insere texto na posição atual do cursor
  • I — insere texto no início da linha atual
  • a — insere texto após a posição atual do cursor
  • A — insere texto a partir do fim da linha atual
  • o — inicia nova linha de inserção, abaixo da linha atual
  • O — inicia nova linha de inserção, acima da linha atual

Como apagar conteúdo no arquivo:

  • x — apaga o caractere na posição do cursor
  • X — apaga um caractere para trás
  • dw ou de — Apaga a palavra à direita do cursor
  • d^ — apaga tudo à esquerda, até o início da linha.
    Em teclados com acentuação (ABNT), é necessário teclar espaço após ‘^’
  • d$ — apaga tudo à direita do cursor, até o fim da linha
  • D ou DD — Apaga a linha toda, a partir da posição do cursor
  • dd — apaga a linha atual, onde o cursor se encontra

Como alterar o texto:

  • r — substitui o caractere sob o cursor
  • R — substitui os caracteres do texto, à medida em que digita
  • s — substitui o caractere, na posição do cursor, pelo próximo que você digitar
  • S — apaga a linha inteira, na posição do cursor, para receber novo texto
  • cc — remove o conteúdo da linha atual e inicia o modo de inserção de texto

Como copiar e colar:

  • Y ou yy — copia a linha atual
  • yw — copia a palavra à direita do cursor
  • p — cola a linha copiada na posição do cursor
  • P — cola o conteúdo copiado à direita do cursor

Papéis de parede com os comandos do Vi

As 2 imagens, abaixo tem tamanho padrão 1366 X 768 (não pesa muito e serve para a maioria das telas)
papel de parede com comandos do editor vi

wallpaper-cheatsheet-vi-ptbr

Referências

http://www.ctrlageeks.com/unix-vi-editor/.

Como configurar o VI para fazer realce de sintaxe.

Aqui, o assunto vai ser um editor de textos simples presente em quase todas as distro Linux, justamente por ser extremamente leve (acho que este não é bem o caso do vim) e, além de tudo, é extremamente ‘espartano’ no seu visual.
Não se engane com “as roupas simples” do nosso amigo. Ele tem mais recursos que o leafpad, gEdit ou o Notepad (Windows).
Gosto de algumas coisas no vi. A possibilidade de executá-lo dentro de um terminal transparente e poder editar os meus arquivos de configuração e contemplar o meu papel de parede preferido enquanto trabalho, é uma delas. A leveza deste aplicativo completo salta aos olhos.
Gostaria de dizer ao leitor, da maneira mais polida possível, que, se você não sabe o que é o vi ou o vim, este texto provavelmente não é pra você. Desculpe. 😉

Alternativas ao editor vi

há várias outras alternativas disponíveis por aí. É sempre disso que estamos falando, quando o assunto é software livre: escolhas e liberdade de escolha.
Uma, que eu gosto muito é o nano e ele já tem o recurso syntax highlighting disponível como padrão e costuma vir ‘empacotado’ na maioria das distro.

Como ativar o syntax highlighting no vi

O caso, aqui, é simples para ser resolvido.
Inicie o vi, com o arquivo código do seu programa (eu vou usar o ‘startx’, no exemplo):

vi /usr/bin/startx

Dentro do editor, digite o seguinte comando:

:set syntax on

Isto deve resolver o problema.

Ops! Mensagem de erro E319…

Você ainda está aqui? Recebeu uma mensagem de erro?
vimrc-config2
A versão mais simplificada do vi não tem o recurso de realce da sintaxe do código. Isto gera a mensagem de erro: “E319: Sorry, this command is not available in this version”.
Para resolver isto, instale a versão mais avançada, vim (vi improved):

sudo apt-get install vim

, nas distro debian based, como é o caso do Ubuntu.

Editando o arquivo de configuração do vim

Uma solução definitiva e melhor é editar o arquivo de configuração do vim.
Abra-o com o seu editor favorito e edite a linha syntax off para syntax on. Se estiver apenas comentado, retire os “#”, tal como na figura:
vimrc-config
No Ubuntu, o arquivo de configuração do vim é /etc/vim/vimrc. Ao editá-lo, a solução torna-se definitiva.
Happy coding!