Recentemente, aprendi com o Practical Vim uma maneira de copiar ou mover um bloco de linhas sem precisar mover o cursor da posição atual. Isso é feito no modo de linha de comando. por exemplo
:123,133m. # moves lines from 123 to 133 below the cursor position.
Enquanto eu gosto, é difícil digitar os números das linhas longas, especialmente quando o arquivo tem muitas linhas.
Às vezes, as linhas a serem movidas são relativamente próximas do cursor (mas eu não quero mover meu cursor, puxe, volte para onde estava, cole!). Seria ótimo se eu pudesse usar números relativos, semelhante ao que fazemos no modo normal. É como dizer
mover 5 linhas que são 10 linhas acima da linha atual para aqui
Em resumo, como usar números relativos no modo de linha de comando (semelhante ao modo normal)?
fonte
15k d5j 10j P
.Você pode usar números concretos em seu intervalo:
Ou números relativos:
Ou marcas manuais:
Ou marcas automáticas:
Ou pesquisas:
Ou atalhos de linha:
Ou qualquer combinação dos truques acima:
fonte
Você pode usar o endereçamento relativo (por exemplo
.-10,.+3
) com qualquer comando Ex, cp.:help :range
.Como alternativa, dê uma olhada no meu plugin LineJuggler ; ele fornece vários mapeamentos curtos para mover linhas ou duplicá-las, e todos esses mapeamentos têm um deslocamento de linha relativo como
[count]
.fonte