1 voto positivo 0 votos negativos
307 visitas
em Programas por colaborador (5,1K pontos)

Estou a começar a utilizar o VIM como meu editor de ficheiros.

Quais são os comandos básicos do VIM e o que é que cada comando faz?

2 Respostas

4 votos positivos 0 votos negativos
por curioso (2,0K pontos)
selecionada por
 
Melhor resposta

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

por colaborador (6,8K pontos)
1 0
ótima resposta, bem completinha!
0 votos positivos 0 votos negativos
por curioso (3,6K pontos)

Oi Dani,

O Vim tem um tutorial interativo.

Basta vc digitar o terminal, vimtutor e ir seguindo as instruções, ok?

Lá vc vai ver o básico de movimentação e operação, e tdo de forma prática.

Abraço.

Seja bem-vindo(a) à comunidade debxp, onde você pode fazer perguntas e receber respostas de outros membros.
Atenção pessoal, esta plataforma não é um fórum, embora se pareça muito com um. Neste tipo de ferramenta, o objetivo é fazer e responder perguntas que possam resultar em material de consulta para outras pessoas que tenham as mesmas dúvidas e dificuldades. Portanto, não há sentido em utilizarmos o Ask para socialização, para emitir opiniões pessoais ou para perguntas do tipo "quem usa isso ou aquilo". Espero que compreendam o nosso propósito. :-)
...