O primeiro a se entender é que existem modos de trabalho no VIM, dentre eles os mais importantes são os modos: Normal, Visual e Inserção.
Geralmente um arquivo é aberto em modo Normal. Nele te é permitido, entre outros recursos: navegar pelo texto, substituir palavras/linhas/colunas, pesquisar e saltar entre linhas/parágrafos/blocos. Abaixo alguns comandos úteis desse modo:
h, j, k, l - navega nas direções esquerda, abaixo, acima, direita respectivamente
;
gg - vai para a primeira linha
;
b - vai para o início da palavra (begin)
;
e - vai para o final da palavra (end)
;
E - vai para o final da palavra (somente ao encontrar um espaço em branco)
;
G - vai para a última linha
;
yy - copia a linha atual para o buffer
;
dd - deleta a linha atual e a coloca em buffer
;
pp - cola na linha atual o que estiver em buffer
;
r - substitui o carectere sob o cursor pelo próximo a ser digitado
;
x - deleta o caractere sob o cursor
;
u - desfaz a última ação
;
/ - busca rápida (case-sensitive)
;
<Ctrl> + a com o cursor em um número - adiciona um
;
<Ctrl> + x com o cursor em um número - subtrai um
;
: - inicia subshell para comandos internos do VIM
;
:split ou :vsplit /caminho/do/arquivo - abre outro arquivo dividindo a tela horizontal ou verticalmente, respectivamente
;
<Ctrl> + ww - alterna entre os arquivos abertos
;
:wq - salva o arquivo atual e sai do editor
;
:q! - sai sem salvar alterações
;
:s/padrão/string/flags - substitui o padrão pela string especificada, o comando se comporta de acordo com as flags definidas. Mais informações - :help substitute;
Em modo Visual pode-se selecionar partes do texto utilizando as teclas e atalhos de navegação mostrados anteriormente para aplicar ações sobre o texto selecionado usando os mesmos atalhos mostrados antes. Pode-se entrar no modo Visual com a tecla v; ou V para o modo Visual/Linha (permite selecionar linhas inteiras); ou ainda, < Ctrl > + v para Visual/Bloco (para selecionar blocos de textos baseados em colunas).
Para entrar no modo Inserção (para incluir textos manualmente) pode-se usar os atalhos:
i : entra no modo na posição atual
;
I : entra no modo no início da linha
;
a : entra no modo na posição seguinte
;
A : entra no final da linha
;
o : entra na linha seguinte (adiciona uma nova linha)
;
O : entra na linha anterior (adiciona uma nova linha)
;
Estando em qualquer modo, a tecla ESC te retorna ao modo NORMAL.
É possível combinar comandos e usar quantificadores. Exemplos:
3w - posiciona o cursor na terceira palavra (word) adiante
;
y4y - copiar para o buffer as quatro linhas contando com a atual
;
cE - deleta da posição atual até o próximo espaço em branco e entra em modo de INSERÇÃO
;
Esses são alguns exemplos básicos. O editor possui muitos comandos de forma a ser bastante útil tanto para escritores quanto para desenvolvedores e administradores de sistemas. Abaixo algumas recomendações para aprofundamento e consulta:
Tutorial de sobrevivência no VIM
VIM - mais que um editor