Se eu estou interpretando corretamente, você está mais ou menos perguntando " Como arrancar uma linha em particular sem mover o cursor no vim? ", exceto que você quer apenas parte das linhas inicial e final. Por exemplo, com esta tela (números de linha ativados):
1 12345abcdefg
2 hijklmnopqrs
3 tuvwxyz123
4
5
6 foo _ baz
... o objetivo seria copiar apenas as letras do alfabeto para a posição do cursor ( _
), entre "foo" e "baz", sem mover o cursor. Está certo?
Se você quiser os números também e quiser colá-los acima da linha atual, a resposta pode ser :1,3y
Enter e, em seguida, P
. Mas os comandos Ex só funcionam em linhas inteiras - não há como informar o comando :y
para arrancar parte de uma linha.
Você pode tentar jogar com a exclusão das partes que não deseja. Mas se fosse eu, eu iria em frente e moveria o cursor, porque eu posso facilmente movê-lo de volta usando um marcador e o comando backquote: ma
(definir marcador de local "a"; use sua letra favorita), 1G
5l
(mova para a linha 1, coluna 6), v
(modo visual de caracteres), 3G
6l
, y
. Então '' a (jump to mark "a") and
P ', e pronto.
Por acaso, se você quiser pular para o final do bloco que acabou de colar, use ''] '.