Pensando em VIM

O que vamos ver:

  • Modalidade
  • Componibilidade

O que NÃO vamos ver:

  • Plugins a fundo
  • Todos os comandos disponíveis

Existem duas coisas que o VIM tem que outros editores não tem:

  • Modalidade
  • Componibilidade (de componível)

Modalidade

O que é "modalidade"?

Significa que o VIM tem "modos" de edição. duh

Modo normal

"Normal".

Movimentação, copy'n'paste...

De qualquer modo, [Esc] retorna ao modo normal.

Modo de inserção

É o modo normal de outros editores: o que for digitado, vai para o texto.

Para ir do modo normal para modo de inserção:

i, I, a, A, o, O

Modo ex

Modo para comandos mais complexos, copiados do ex.

Todos comandos começam com : e seguem o comando.

Algums permite um 'range' de aplicação do comando.

Modo de pesquisa

Modo para procurar conteúdo no texto.

Começa com / e segue a pesquisa.

Modo visual

Modo de seleção visual de blocos

Iniciado com v, Shift+v ou Ctrl+v.

Resumo

  • O VIM trabalha com modos;
  • O modo padrão é o "normal";
  • [Esc] sempre volta pro modo normal;
  • Para começar a inserir texto, é preciso entrar em modo de inserção;
  • Existe uma seleção como Shift+Setas (que outros editores tem).

Componibilidade

("Componibilidade" de "composição")

A "gramática" do VIM.

Verbos

  • y: "yank", copiar.
  • d: "delete", excluir.
  • c: "change", alterar.
  • f: "find", encontrar.
  • t: "til", até.
  • g: "go", ir.
  • ...

Substantivos

  • l: posição à direita.
  • w: "word", palavra.
  • 0: coluna 0.
  • _: primeira posição não vazia da linha.
  • $: fim da linha.
  • n: próxima ocorrência da pesquisa.
  • j: mesma coluna mas na linha de baixo.
  • ...

(Também funcionam como movimentação; sem um verbo específico, é considerado "vá até".)

Interlúdio - Combinando

  • dw - "Delete" "word": apaga a próxima palavra.
  • y$ - "Yank" (copie) até o fim da linha.
  • cn - Alterar (change) o conteúdo até a próxima ocorrência da pesquisa.

Modificadores

  • w - Palavra
  • 2w - 2 palavras
  • d2w - Apague as duas próximas palavras.
  • d3f. - Apague da posição do cursor até o terceiro ponto na linha.

Modificadores

  • i: "Inside", dentro.
  • a: "Around", ao redor.
  • ci( - Alterar (change) a parte de dentro (inside) os parênteses.
  • da[ - Apague (delete) o conteúdo ao redor (around) colchetes.