Eu também estava usando dahu / vim-fanfingtastic por algum tempo e achei muito útil. Ele suporta repetições semânticas .
graças à biblioteca tpope / repeat.vim, que você também deve instalar.
Uma alternativa é chrisbra / betterft, que faz mais ou menos a mesma coisa.
O rhysd / clever-f.vim tem uma opção para ativar a busca em várias linhas, embora sua principal característica seja permitir f
repetir a busca atual, como ;
já acontece.
Todos esses identificadores ;
e ,
chaves, conforme o esperado.
A desvantagem com multi-linha f
e t
é que se você bater na tecla errada, você será levado para fora da linha atual para algum lugar inesperado no arquivo. Ctrl-Opode ajudar nesses momentos. (Isso pode ser perigoso com uma c
mudança, se você não perceber que acabou de engolir algumas linhas, mas esses foram apenas problemas iniciais para mim.)
Existem outros plugins relacionados, com abordagens ligeiramente diferentes, como justinmk / vim-sneak e goldfeld / vim-seek que solicitam dois caracteres , facilitando (mas ainda não garantido) atingir o local de destino.
E depois há easymotion / vim-easymotion . Isso oferece várias teclas de movimento poderosas , algumas das quais exigem um pressionamento de tecla extra ou duas para confirmar o caractere de destino quando há muitos candidatos.
Mas atualmente estou usando uma solução caseira. Eu trabalhei com o autor de EasyMotion para fazer f
e t
piscar marcadores de contagem sobre todos os personagens correspondentes à sua frente.
Isso atua como um assistente de contagem natural para movimentos de baunilha vim. Quando você tenta se mover para algum lugar com, fx
mas descobre que há mais x
obstáculos no caminho do que imaginava, pode ler o número que piscou sobre o personagem que estava buscando e depois [count];
pular para lá.
Você pode encontrar a agência aqui . Não deixe de ler a seção Adicionar dicas úteis para configurar os mapeamentos de teclas.
No entanto, para c
operações de alteração, ainda é preferível acertar na primeira vez . Nesses casos, recomendo que você pressione uma tecla extra no v
modo Visual ou use um dos saltos garantidos do EasyMotion.
d/a
para excluir para o próximoa
ec/.
excluir para o próximo.
. Se você o usarhlsearch
e não desejar ao executar esta operação, poderá criar um mapeamento que faça suad/
operação e desabilitar o realce (termina com:nohlsearch
).