Para usar o vim mais efetivamente, eu me concentraria em aprender mais sobre comandos de movimento especializados (parentes para mover por frase, chaves para mover por parágrafos). Eles podem ser combinados com os comandos de edição (excluir, alterar, etc.) quando você estiver familiarizado com eles. Além disso, aprenda as combinações "a" e "i" para selecionar (e aplicar comandos a) objetos ao redor do cursor (por exemplo, das
para apagar a frase que o cursor está em: compare a (d)
, que possui três alternâncias Shift). Aprenda a aplicar contagens para movimentos maiores (por exemplo, c2w
para mudar as próximas duas palavras, d2as
para apagar a frase em que o cursor está e o próximo). Use marcas para pular para pontos usados com freqüência.
Eu esqueci um dos meus comandos de movimento favoritos: f
/ t
/ F
/ T
avançar ou retroceder (em minúsculas ou maiúsculas, respectivamente) para o próximo ou imediatamente antes do próximo caractere (f ou t, respectivamente) digitado: f*
move-se para o próximo *
para a direita, T(
move-se apenas para a direita do próximo parêntese aberto para a esquerda (alterne para a esquerda e direita para configurações da direita para a esquerda).
Fazendo grandes mudanças
Para edições repetitivas, use a função de gravação de macro q
gravar e @
para reproduzir sequências dos mesmos comandos.
Use registradores em vez de copiar e colar, ele salvará uma viagem de ida e volta (já que as macros são armazenadas em registros, você pode usar os comandos armazenar / recuperar registro para corrigir erros na macro sem regravar).
Use o :%s/…/…/g
comando para fazer substituições / exclusões globais.
E se você ainda não conseguir que ele se sinta confortável, talvez seja possível fazer edições por meio do netrw plugin : vim scp://target/somefile
.
Como akira notas abaixo, isso permite que você execute o Vim em sua máquina local, onde a latência não é um problema. Quando você edita um arquivo remoto, o Vim o copia para a sua máquina local. Quando você salva, o Vim copia de volta para a máquina remota. Suporta muitos protocolos (WebDAV, HTTP (somente leitura), FTP, SSH (scp, sftp), rsync).
vim sftp://target/somefile
para ser mais eficiente do quescp
já que o sftp é realmente uma chamada aberta distante () ao invés de transferir o arquivo inteiro localmente, e permite gravar arquivos por partes.Bem, vi foi escrito para links de modem lentos, então o Vi / Vim são possivelmente as melhores ferramentas para usar nesta situação.
O que eu sugiro é considerar qualquer coisa que você se repita e escrever macros para evitar a repetição.
Use: mapeie liberalmente e (porque é Vim), o recurso de gravação de macro 'q' (
:help recording
).Faça uso de contagens repetidas (como você identificou) e use movimentos para navegar (como pesquisar e ir diretamente para números de linha) em vez de bater em h / j / k / l.
Então coisas como
5d
descer 5 linhas,}
para alcançar a próxima linha vazia, Ctrl-I e Ctrl-O para voltar / avançar pelas posições usadas recentemente no texto (:help jumps
).Além disso, considere baixar o (s) arquivo (s) e editá-lo localmente e, em seguida, faça o upload para o servidor.
fonte
como outros já escreveram, o vim foi projetado especificamente com conexões lentas em mente, então você só precisa aprender a usá-lo de forma mais eficaz. você precisa aprender (e saber a diferença entre) A / A, F / T, I / I, ^, $, O / O, P / P, D / D etc. Eles são todos importantes e podem salvar você tem muitos movimentos.
Mas o maior problema da minha experiência é psicológico. você sabia que eventualmente será mais rápido, mas agora é mais rápido (e mais importante no cérebro :) só para usar as teclas do cursor :).
O que eu fiz para aprender vim eficaz é "me punir" toda vez que me vejo fazendo algo de forma ineficiente, voltando e refazendo o caminho certo de qualquer maneira.
Então, por exemplo, se você apenas "pegou" a si mesmo movendo 10 linhas para baixo com as teclas do cursor para trás e, em seguida, use smth como "10". ou mais importante, quase nunca usando as teclas de seta horizontais, use T, t, F, f, / ,? em vez de. e "punir" a si mesmo, refazendo novamente. você começará a fazer a coisa certa num instante.
Ah, e outra coisa a observar é o modo de seleção visual. 99% não é necessário, pois o mesmo pode ser feito de forma diferente.
fonte
Você já passou pelo tutorial introdutório do vim? Depois disso eu sugiro pegar uma folha de fraude e ter certeza que você pelo menos sabe o que cada item na folha de dicas está se referindo. Aprenda sobre o uso de expressões regulares na pesquisa e substituição. Aprenda sobre gravação e execução de macros. Aprenda sobre o modo visual e como você pode "canalizar" sua seleção para comandos externos e ler dados no comando externo.
fonte
Existe também uma opção chamada 'scrolljump' que controla quantas linhas para rolar quando o cursor se move para fora da tela. Isso pode ajudar a reduzir o quanto da tela precisa ser redesenhada.
Mas o plugin netrw, como mencionado por Chris Johnsen, é uma excelente solução, eu usei-o muitas vezes para fazer o desenvolvimento em conexões incrivelmente lentas e não confiáveis.
fonte