Comandos e teclas essenciais do Vim
Na semana de publicação deste artigo, surgiu uma conversa no grupo Curso GNU, no Telegram, sobre os atalhos e comandos do Vim. Em face disso, eu resolvi compartilhar uma cheat sheet com os atalhos e comandos que eu considero essenciais para quem quiser começar a utilizar o Vim como seu editor de textos padrão.
MODO |
ATIVAÇÃO |
DESCRIÇÃO |
NORMAL |
ESC |
O modo inicial do Vim |
NORMAL (temporário) |
Ctrl+o |
Iniciado a partir do modo INSERT para a execução de um comando |
INSERT |
i |
Inicia a inserção de texto na posição do cursor |
INSERT (append) |
a |
Inicia a inserção do texto após o cursor |
INSERT (outra linha) |
o |
Inicia a inserção de texto em nova linha abaixo |
INSERT (início) |
I |
Inicia a inserção de texto no início da linha |
INSERT (fim) |
A |
Inicia a inserção de texto no fim da linha |
INSERT (outra linha aqui) |
O |
Move linha atual para baixo e inicia a inserção de texto |
VISUAL |
v |
Inicia o modo de seleção de texto |
VISUAL (por linhas) |
V |
Inicia o modo de seleção de linhas inteiras |
VISUAL (retangular) |
Ctrl+v |
Inicia o modo de seleção retangular |
COMMAND |
ESC :
|
Inicia a entrada de comandos |
COMMAND (temporário) |
Ctrl+o :
|
A partir do modo INSERT, inicia a entrada de apenas um comando |
DIREÇÃO |
NORMAL |
INSERT |
VISUAL |
Caractere anterior |
h |
Ctrl+o h
|
h |
Próximo caractere |
l |
Ctrl+o l
|
l |
Linha acima |
k |
Ctrl+o k
|
k |
Linha abaixo |
j |
Ctrl+o j
|
j |
Primeira linha do arquivo |
gg |
Ctrl+o gg
|
gg |
Última linha do arquivo |
G |
Ctrl+o G
|
G |
Início da linha |
0 |
Ctrl+o 0
|
0 |
Fim da linha |
$ |
Ctrl+o $
|
$ |
Início da próxima palavra |
w |
Ctrl+o w
|
w |
Fim da palavra |
e |
Ctrl+o e
|
e |
Início da palavra anterior |
b |
Ctrl+o b
|
b |
Início da frase |
( |
Ctrl+o (
|
( |
Fim da frase |
) |
Ctrl+o )
|
) |
Início do parágrafo |
{ |
Ctrl+o {
|
{ |
Fim do parágrafo |
} |
Ctrl+o }
|
} |
Centraliza página no cursor |
zz |
Ctrl+o zz
|
zz |
- Todas as direções acima (menos
gg
) podem ser antecedidas de um número representando uma quantidade de repetições. Por exemplo:
C-o 5l → Move o cursor 5 caracteres à direita no modo INSERT.
- A tecla
G
antecedida de um número vai para a linha de número correspondente:
15G → Vai para a linha de número 15 no modo NORMAL
- No modo VISUAL iniciado com
v
, o cursor é movido selecionando o texto.
- No modo VISUAL iniciado com
V
, a movimentação dentro da linha não faz sentido.
- A regra das quantidades antes das direções também valem para a seleção (após
v
ou V
).
- Todas as teclas abaixo estão indicadas a partir do modo NORMAL (
ESC
ou C-o
).
TECLAS |
RESULTADO |
vw |
Seleciona do cursor ao fim da plavra atual ou da próxima palavra se estiver em um espaço |
vb |
Seleciona do cursor ao início da palavra atual ou da palavra anterior se estiver em um espaço |
viw |
Seleciona a palavra atual |
ggVG |
Seleciona todo o texto |
- Todas as teclas abaixo estão indicadas a partir do modo NORMAL (
ESC
ou C-o
).
TECLAS |
RESULTADO |
u |
Desfaz a última ação |
N u
|
Desfaz as N últimas ações |
U |
Desfaz todas as ações na linha |
Ctrl+r |
Refazer |
Copiar (yank), recortar (delete) e colar (put)
- Todas as teclas abaixo estão indicadas a partir do modo NORMAL (
ESC
ou C-o
).
- No modo VISUAL, a cópia da seleção é feita com a tecla
y
.
- No modo VISUAL, recorta-se com a tecla
d
.
COPIAR |
RESULTADO |
yy |
Copia a linha |
N yy
|
Copia N linhas a partir da atual (inclusive) |
y$ |
Copia do cursor ao fim da linha |
y0 |
Copia do cursor ao início da linha |
yw |
Copia do cursor ao fim da palavra (ou da palavra anterior se estiver em um espaço) |
yb |
Copia do cursor ao início da palavra (ou da palavra anterior se estiver em um espaço) |
yiw |
Copia a palavra sob o cursor |
- A tecla
y
pode ser seguida de todas as direções antecedidas ou não de quantidades.
RECORTAR |
RESULTADO |
dd |
Recorta a linha |
N dd
|
Recorta N linhas a partir da atual (inclusive) |
d$ |
Recorta do cursor ao fim da linha |
d0 |
Recorta do cursor ao início da linha |
dw |
Recorta do cursor ao fim da palavra (ou da palavra anterior se estiver em um espaço) |
db |
Recorta do cursor ao início da palavra (ou da palavra anterior se estiver em um espaço) |
diw |
Recorta a palavra sob o cursor |
- A tecla
d
pode ser seguida de todas as direções anteceditas ou não de quantidades.
COLAR |
RESULTADO |
p |
Cola após o cursor |
P |
Cola antes do cursor |
- As teclas
p
e P
podem ser antecedidas de quantidades.
- É o modo de execução de comandos interativos na última linha do Vim.
- Alguns comandos úteis:
COMANDO |
AÇÃO |
ESC :q
|
Sair |
ESC :q!
|
Sair sem salvar |
ESC :w
|
Salvar |
ESC :w ARQUIVO
|
Salvar como... |
ESC :wq
|
Salvar e sair |
ESC :x
|
Salvar e sair |
ESC :w !sudo tee %
|
Salvar como 'sudo' |
ESC :set number!
|
Alternar numeração de linha |
ESC :set relativenumber!
|
Alternar numeração relativa de linhas |
ESC :set colorscheme [TAB]
|
Alterar o tema |
ESC :set syntax on /off
|
Alternar coloração de sintaxe |
- Outra forma de sair (no modo NORMAL):
Q
q
[ENTER]
- Outra forma rápida de salvar e sair (no modo NORMAL):
ZZ
(mesmo que :wq
)
- Outra forma rápida de sair sem salvar (no modo NORMAL):
ZQ
(mesmo que :q!
)
Uso o Vim há um tempo e não conhecia esses atalhos temporários, show de bola!
Para quem está a começar pode parecer muita informação. Mas para mim que uso à relativamente pouco tempo, tem muita coisa que desconhecia e que este artigo ensina bem.
Parabéns Blau pelo artigo.
Olá acredito houve algum erro de digitação
`VISUAL (retangular) Ctrl+v Inicia o modeo de seleção retangular`
Muito obrigado! 🙂 Assim que der eu corrijo.