Skip to content

Instantly share code, notes, and snippets.

@icorradi
Last active August 31, 2021 21:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save icorradi/d5deaa7f16c1829585a6d0c97908fed2 to your computer and use it in GitHub Desktop.
Save icorradi/d5deaa7f16c1829585a6d0c97908fed2 to your computer and use it in GitHub Desktop.
Breve artigo sobre introdução ao vim para iniciantes.

Vim - Um editor viciante!

Igor Corradi - 14-04-2014

Esse artigo destina-se a pessoas que estão iniciando o aprendizado com VIM. Aqui contém alguns dos comandos mais utilizados e mais comuns no uso desse poderoso editor.

Viciante?
Sim! Viciante! Depois que comecei a usar, não consegui mais largar.

viciado_vim

Vim é um editor muito poderoso, mas a sua curva de aprendizado é muito alta, por isso muitas pessoas criticam o vim.

Vim não é dificil, Vim é complexo! Só que algumas pessoas querem aprender da noite pro dia, ai é quase impossivel mesmo. Mas, aqui estou, para te mostrar que você pode aprender Vim rapidamente!

Para começar, temos que abrir o vim.

Temos duas formas de fazer isso:

$ vim arquivo.txt

ou

$ vim

Da segunda forma o vim abrirá em sua página inicial:

image

Pronto! Estamos "dentro" do Vim. Se você abriu da segunda forma, podemos iniciar um arquivo com o comando

:edit <caminho>/<para>/<o>/<arquivo>.ext

* IMPORTANTE! O Vim trabalha em diferentes módulos. Então temos os modos INSERT, REPLACE, VISUAL e o NORMAL . Tome cuidado na hora de dar o comando, certifique-se que você está no modo NORMAL .

Para podermos começar a editar nosso arquivo, vamos entrar no modo de INSERT apertando a tecla i (minúsculo)

Esse modo, permite que você edite seu arquivo como um editor qualquer.

ex:

vim_insert

Para sair do modo de INSERT aperte esc.

Yeah! Já é um ótimo começo!

Para entrar nos demais módulos:

  • shift + r - REPLACE
  • v (minúsculo) - VISUAL
  • esc (sai do modo que estiver e entra no modo NORMAL)
* Lembrando: se for dar algum comando, entre no modo NORMAL .

Agora que você já sabe entrar e sair dos módulos, vamos aos comandos!

* DICA: Não precisa fazer nenhum comando "desesperadamente", o vim não tem tempo de expiração!

c i w - Esse comando vai recortar a palavra e entrar no modo de INSERT
(change, inner, word)

* Posicione o cursor em qualquer lugar na palavra e aplique o comando.

vim_ciw


d i w - Esse comando vai simplesmente recortar a palavra toda
(delete, inner, word)

* Posicione o cursor em qualquer lugar na palavra e aplique o comando.

vim_diw


d d - Esse comando vai recortar a linha inteira
(delete, delete)

* Tudo o que o vim faz duplicado é refletido na linha toda

vim_dd


d t <caractere> - Esse comando vai recortar até onde você quiser
(delete, till, <caractere>)

d T <caractere> - Esse comando vai recortar até onde você quiser para trás
(delete, back till, <caractere>)

ex: Vou recortar da vírgula até as aspas duplas.

* Trocando d (delete) por c (change) ou v (visual) o que irá mudar é a entrada no modo de INSERT ou VISUAL

vim_dt_


shift + v <seleção> d - Esse comando vai recortar toda sua seleção
(visual line, <seleção>, delete)

* V (maiúsculo) vai selecionar a linha toda.

vim_shivd


shift + v <seleção> c - Esse comando vai recortar toda sua seleção e entrar no modo de INSERT
(visual line, <seleção>, change)

* V (maiúsculo) vai selecionar a linha toda.

vim_shivc


:%s/<palavra antiga>/<palavra nova>/gc - Pesquisa por palavras ou expressões regulares, e pede a confirmação para aplicar cada substituição. Caso remova o c irá fazer a substiuição geral sem confirmação.

vim_replace

Mais alguns comandos:

/<pesquisa> - Pesquisa por palavras, expressões regulares etc..
j - Se movimenta para baixo
k - Se movimenta para cima
h - Se movimenta para a esquerda
l - Se movimenta para a direita

* Usando <numero> + h , j , k ou l você pula o numero de linhas ou caracteres.
ex: 10 j irá pular 10 linhas para baixo.

:w - Salva o documento
:q - Fecha o documento
:wq - Salva e fecha o documento
Z Z (maiúsculo) - Salva e fecha o documento
u - Desfaz suas mudanças (undo)
ctrl + r - Refaz suas mudanças
y - Copia sua seleção (yank)
y y - Copia sua linha inteira (yank, yank)
p - Cola (paste after)
d - Serve para recortar quanto para deletar, pois o d guarda o último valor (delete)
d d - Mesma coisa do de cima, só que aplicado na linha toda (delete, delete)
o - Entra no modo de INSERT na linha de baixo (append below)
a - Entra no modo de INSERT no próximo caractere(append)
s - Subtrai o próximo caractere e entra no modo de INSERT(subst char)
g g - Vai para o topo do documento
shift + g - Vai para o final do documento
z z - Posiciona a linha do cursor no centro da tela
. - Replica sua última ação

Você deve estar pensando: Poxa, até eu digitar todo esse comando já perdi meu tempo!

Também pensava assim, mas quando voce já está acostumado e já faz tudo automático, sua produtividade aumenta muito! Pois o tempo que você gastava pegando no mouse, ou se locomovendo com as setas do teclado, ai sim você perde tempo! Por isso, PRATIQUE BASTANTE!

Nesse CheatSheet tem todos os comandos.

Lembrando que: esses comandos são os comandos inciais para começar a se tornar um viciado. O dia que você estiver trabalhando com macros... Sinto muito, mas é um caminho sem volta... Espero que você tenha gostado, e seja mais um viciado por VIM assim como eu! Pratique bastante! Uma hora você fará tudo automático sem perceber!

Muito obrigado! E até a próxima!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment