O VIm é um editor simplesmente fantástico.
Há algum tempo atrás eu usava o Scite como editor, mas desde que comecei a trabalhar com desenvolvimento web em Django resolvi testar o VIM e acabei apaixonando.
Alguns amigos que usam outros editores também acham o vim bacana mas não tem muita coisa na internet sobre as tarefas mais simples no vim, pelo menos, não em português.
A principal viés para quem vai se iniciar em VIM ou Emacs é a utilização intensa do teclado para acessar as funções do editor, mas não é nada difícil, é uma questão de treino.
É muitíssimo importante ressaltar que o VIM não é o vi, o vim é um fork do vi com vários melhoramentos, principalmente ao que se diz de usabilidade, daí o nome Vim Improved.
Para instalar em debian e derivados sugiro alguns pacotes bacanas:
aptitude install vim vim-scripts vim-python
Aqui vão algumas dicas legais pra quem quer usar o vim como editor multi-uso:
Edição simples
Mantendo o caps-lock desligado temos o básico:
execute o editor:
$ vim
se quiser abrir um arquivo diretamente o comando é:
$ vim /caminho/para/arquivo
abrira a tela simples do vim, modo de visualização
agora, os atalhos
para editar o texto aperte insert, repare que entrará em modo de inserção, se apertar insert novamente vai para o modo “replace” ou substituição.
Para sair de algum modo a qualquer momento pressione Esc até notar que o editor voltou ao modo de visualização.
Comandos
Para abrir o buffer de comandos digite dois-pontos “:”
daí basta ir teclado TAB e ver as opções de comandos, e teclar Enter para executar.
Vejamos os mais comuns:
Salvar o arquivo atual - :w
Salvar e sair do arquivo atual - :wq ou: x
Sair - :q
Sair sem salvar - :q!
Recarregar o arquivo atual - :e
Carregar outro arquivo na buffer(tela) - :e /caminho/para/arquivo
Trabalhando com abas:
Abrir nova aba - :tabnew <ENTER> ou :tabnew /caminho/para/arquivo <ENTER>
Ir para próxima aba - :tabnext
Ir para aba anterior - :tabprevious
Sair de todas as abas - :qall
Sair de todas as abas ignorando mudanças - :qall!
Salvar todas as abas - :wall
Salvar e sair de todas as abas - : xall
Dividindo a tela:
horizontalmente - :split
verticalmente - :vsplit
navegar entre as divisões da tela - manter <Control> pressionado e digitar ww
Fechar a divisão de tela atual - :q
Seleção visual, recortar, copiar, colar:
para começar/encerrar o modo de seleção visual, vá para o modo de visualização (Esc) e tecle v
Seleção da linha inteira: V (sim, V maiúsculo, pode ser com shift ou caps lock)
Recortar: no vim recortar e deletar são a mesma coisa, pense nomo uma remoção que mantém o item removido em memória:
em modo visual: d
deletar/recortar a linha inteira: dd
colar do cursor em diante: p (funciona em modo visual, substituindo o item selecionado)
colar do cursor para trás: P
copiar em modo não-visual: yy (copia a linha inteira)
copiar visualmente:y
Desfazendo os ações: u
Refazendo o desfeito: <Control>r
Auto-completion
O recurso que mais uso no vim, sem dúvida é o auto completion, é graças ao auto completion que eu aprendo a usar módulos do python e foi graças a ver isso funcionando no vim que resolvi deixar o Scite de lado.
Enquanto estiver em modo de inserção tecle:
<control>n ou <control>p para autocompletar reaproveitando as palavras do arquivo atual
para autocompletar usando recursos do tipo de arquivo atual(javascript, html, python, css, ruby, etc):
mantenha <Control> pressionado e tecle xo
Pronto, com isso acho que já é suficiente para quem quer começar a usar o VIM, por favor, se alguém lembrar de alguma coisa eu adiciono aqui.
Para animar, um vimrc bacanudo:
Baixe esse vimrc, salve como .vimrc e coloque-o na sua home.
Boa diversão!