Eu sou um programador Ruby tentando mudar de Textmate para MacVim, e estou tendo problemas para percorrer as listas gigantescas de coisas que você pode fazer no VIM e todos os pressionamentos de tecla para eles. Estou cansado de ouvir "Você pode usar 'I' para inserir texto, ou 'a' para anexar texto após o caractere, ou 'A' para anexar texto no final da linha, ou ..." Não consigo imaginar todos usam todos os 20 pressionamentos de tecla diferentes para navegar no texto, cerca de 10 teclas para começar a adicionar texto e 18 maneiras de selecionar visualmente um bloco interno. Ou você!?
Minha folha de referências ideal seria os 30-40 pressionamentos de tecla ou comandos mais usados que todos usam para escrever código diariamente, junto com os plug-ins essenciais absolutos que os rubistas usam diariamente e os 10 comandos mais usados para eles. Em teoria, uma vez que tenho isso e começar a se tornar tão proficiente em VIM como estou em Textmate, então eu posso começar a aprender os milhares de outros comandos VIM que me fará mais eficiente.
Ou estou aprendendo VIM da maneira totalmente errada?
fonte
Respostas:
Aqui está uma folha de dicas que escrevi uma vez, com os comandos que uso regularmente:
Referências
Geral
<Esc>
tira você de qualquer modo e volta ao modo de comandoNavegação
Editando
Inserindo
Todos os comandos de inserção são encerrados com
<Esc>
para retornar ao modo de comando.Mudando
<motion>
muda o texto na direção do movimentoExcluindo
<motion>
exclui na direção do movimentoCopiar e colar
Blocos
Global
Procurando
arquivos
name
grava o arquivo no disco comoname
janelas
Navegação na fonte
tags
arquivo); ^ T retornar à posição anterior (pilha arbitrária de posições mantida)Mostrar mudanças locais
O Vim tem alguns recursos que facilitam o destaque de linhas que foram alteradas de uma versão base no controle de origem. Eu criei um pequeno script vim que torna isso fácil: http://github.com/ghewgill/vim-scmdiff
fonte
Esc
chave (e RSI?), Você pode usar^[
.^c
também funciona (mas não expande abreviações). Fonte: vim.wikia.com/wiki/Avoid_the_escape_keyhttp://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
Isso é a melhor coisa para aprender VIM.
fonte
Aqui está uma ótima folha de dicas para o vim :
fonte
Você executou o tutorial integrado do Vim? Caso contrário, vá para a linha de comando e digite
vimtutor
. É uma ótima maneira de aprender os comandos iniciais.O Vim tem uma quantidade incrível de flexibilidade e poder e, se você for como a maioria dos usuários do vim, aprenderá muitos comandos novos e esquecerá os antigos, para reaprendê-los. A ajuda integrada é boa e vale a pena navegar periodicamente para aprender coisas novas.
Existem vários bons FAQs e cheatsheets para vim na internet. Eu recomendo pesquisar por
vim + faq
evim + cheatsheet
. Cheat-Sheets.org # vim é uma boa fonte, assim como o wiki do Vim Tips .fonte
~/.vimrc
,~/.gvimrc
e~/.vim
diretório em um tar-ball para quando eu tenho que definir alguma coisa. Copiar isso e extrair os arquivos me permite ter o vim rodando com todos os meus comandos usuais e esquemas de cores em minutos no Windows, Macs e Linux.O que a maioria das pessoas fazer é começar com o mais básico, como talvez i, yw, yy, e p. Você pode continuar a usar as teclas de seta para se mover, selecionar texto com o mouse, usar os menus, etc. Então, quando algo está deixando você mais lento, você procura a maneira mais rápida de fazer isso e gradualmente adiciona mais e mais comandos. Você pode aprender um novo comando por dia por um tempo, então ele irá diminuir para um por semana. Você se sentirá bastante produtivo em um mês. Depois de um ano, você terá um repertório bastante sólido e, depois de 2-3 anos, nem mesmo pensará conscientemente no que seus dedos estão digitando, e ficará estranho se você tiver que soletrar para alguém. Eu aprendi vi em 1993 e ainda aprendo 2 ou 3 novos comandos por ano.
fonte
O cheatsheet de @Greg Hewgill é muito bom. Comecei minha mudança do TextMate há alguns meses. Agora sou tão produtivo quanto no TM e constantemente surpreso com o poder do Vim.
Aqui está como eu mudei . Talvez possa ser útil para você.
Grosso modo, não acho uma boa ideia fazer uma mudança radical. O Vim é muito diferente e é melhor ir progressivamente.
E para responder à sua pergunta, sim, eu uso todos os
iaIAoO
dias para entrar no modo de inserção. Certamente parece estranho no início, mas você realmente não pensa sobre isso depois de um tempo.Alguns comandos são incrivelmente úteis para qualquer tarefa relacionada à programação:
r
eR
para substituir personagens<C-a>
e<C-x>
aumentar e diminuir os númeroscit
para alterar o conteúdo de uma tag HTML, e suas variantes (cat
,dit
,dat
,ci(
, etc.)<C-x><C-o>
(mapeado para,,
) para omnicompletar<C-v>
Uma vez que você está acostumado com o modo Vim, torna-se muito difícil não acertar
o
oux
o tempo todo ao editar texto em algum outro editor ou campo de texto.fonte
Eu faço.
Essa é a maneira certa de fazer isso. Comece com os comandos básicos e, a seguir, escolha aqueles que melhoram sua produtividade. Gosto de seguir este blog para dicas sobre como melhorar minha produtividade com o vim.
fonte
tuxfiles.org contém uma folha de dicas muito boa. Acho que há alguns pontos para aprender os comandos:
d$
), faça uma rápida pesquisa no Google para ver se consegue encontrar um comando para ele.Além dessas dicas, existem alguns conceitos básicos que você deve entender.
d$
. Para destacar uma linha após um uso de caractere particularv$
. Portanto, observe que isso$
indica que você fará algo até o final da linha de onde o cursor está atualmente.u
é desfazer ectrl+r
é refazer.3dd
irá deletar a linha em que seu cursor está e as duas linhas seguintes, da mesma forma3yy
irá copiar a linha em que seu cursor está e as duas linhas seguintes.:ls
para listar os buffers, e:bn
,:bp
ao percorrê-las.:help
Esta é provavelmente a melhor maneira de 'aprender o básico', e o restante dos comandos você aprenderá com o uso.fonte
Coloque isso em seu .bashrc para abrir o vim com o último arquivo editado na última linha editada
fonte
Vá para Edição Eficiente com o vim e aprenda o que você precisa para começar. Nem tudo nessa página é essencial no começo, então escolha o que você quer.
A partir daí, use o vim para tudo. "hjkl", "y" e "p" levarão você longe, mesmo que não seja o caminho mais eficiente. Quando você se deparar com uma tarefa para a qual não conhece a chave mágica para executá-la com eficiência (ou mesmo) e se descobrir fazendo isso mais do que algumas vezes, vá procurá-la. Pouco a pouco, isso se tornará uma segunda natureza.
Eu achei o vim assustador muitas luas atrás (quando ele não tinha o "m" no final), mas levou apenas cerca de uma semana de uso constante para ficar eficiente. Ainda acho que é o editor mais rápido para fazer as coisas.
fonte