Fonte :
https://www.vivaolinux.com.br/dica/Editor-Vim-Introducao-e-trabalhando-com-Vim
MODO TEXTO - COMANDOS DE INSERÇÃO
Comando de inserção de texto:
i - insere texto antes da posição atual do cursor;
a - insere o texto depois da posição atual do
cursor;
r - Substitui o texto na posição atual de onde se
encontra o cursor;
A - insere o texto no final da linha onde se encontra o cursor
o - Adiciona uma linha abaixo da linha onde se encontra o cursor;
O - Adiciona uma linha acima da linha onde se encontra o cursor;
ESC muda para o modo de visualização.
MODO COMANDO - COMANDOS DE LOCALIZAÇÃO,
MOVIMENTAÇÃO, ALTERAÇÃO E
PARA SALVAR E SAIR DO TEXTO
Comandos para localização de texto:
/palavra - Busca pela palavra ou caractere em todo o texto;
?palavra - Move o cursor para a ocorrência anterior da
palavra;
n- Repete o último comando / ou ?;
N - Repete o último comando / ou ?, na
direção reversa;
Ctrl+g - Mostra o nome do arquivo, o número da linha atual e
o total de linhas.
Comandos para a movimentação pelo texto:
Ctrl+f - Move o cursor para a próxima tela;
Ctrl+b - Move o cursor para a tela anterior;
H - Move o cursor para a primeira linha da tela;
M - Move o cursor para o meio da tela;
L - Move o cursor para a última linha da tela;
h - Move o cursor um caractere à esquerda;
j - Move o cursor para a próxima linha;
k - Move o cursor para linha anterior;
l - Move o cursor um caractere à direita;
w - Move o cursor para o início da próxima
palavra;
W - Move o cursor para o início da próxima
palavra, separadas por espaço;
b - Move o cursor para o início da palavra anterior;
B - Move o cursor para o início da palavra anterior
separadas por espaço;
0(zero) - Move o cursor para o início da linha atual;
^ - Move o cursor para o primeiro caractere não branco da
linha atual;
$ - Move o cursor para o final da linha atual;
nG - Move o cursor para a linha n;
:n - Move o cursor para a linha n;
gg - Move o cursor para a primeira linha do arquivo;
G - Move o cursor para a última linha do arquivo.
Comandos para alteração do texto:
x - Deleta o caractere que está sob o cursor;
dw - Deleta a palavra, da posição atual do cursor
até o final;
dd - Deleta a linha atual, e copia o conteúdo para
área de transferência;
D - Deleta a linha a partir da posição atual do
cursor até o final;
:A,Bd - Deleta da linha A até a linha B, copia para
área de transferência;
rx - Substitui o caractere sob o cursor pelo especificado em x;
u - Desfaz a última modificação;
U - Desfaz todas as modificações feitas na linha
atual;
J - Une a linha corrente a próxima;
yy - ECopia 1 linha para a área de transferência;
yNy - Copia N linhas para a área de transferência;
p - Cola o conteúdo da área de
transferência;
Np - Cola N vezes o conteúdo da área de
transferência;
cc - Apaga o conteúdo da linha, e copia para área
de transferência;
cNc - Apaga o conteúdo de N linhas, e copia para
área de transferência (a partir da linha atual);
:%s/string1/string2/g - Substitui "string1" por "string2";
ndd - Deleta o conteúdo de n linhas a partir da linha atual;
nD - Deleta a linha a partir da posição atual do
cursor até o fim de n linhas.
Comandos para salvar e sair:
:wq, ZZ ou :x - Salvam o arquivo e saem do editor;
:w nome_do_arquivo - Salva o arquivo corrente com o nome especificado;
:w! nome_do_arquivo - O mesmo que :w, mas forçando
sobrescrita;
:q - Sai do editor;
:q! - Sai do editor sem salvar as alterações
realizadas.
NOTA: Estes são comandos básicos mas muito
essenciais na hora de trabalhar em modo texto com vim.