Diga que estou na linha 20 e gostaria de puxar a linha 4, como posso fazer isso?
E da mesma forma, como posso puxar uma linha em relação à posição do cursor, digamos a de 3 linhas acima?
cut-copy-paste
pfrenssen
fonte
fonte
Respostas:
De
:help :yank
:Então, para puxar a linha 4, digite-se:
Observe que você pode fazer isso facilmente no modo de inserção com
<C-o>
; isso permite que você execute um comando, após o qual você retorna ao modo de inserção; por exemplo:Obviamente, você também pode usar outros intervalos. Alguns exemplos:
:1,3yank
:%yank
:.,$:yank
:.,+3yank
:-3,.yank
:-3yank
As coisas mais úteis a serem lembradas sobre os intervalos:
:line1,line2command
..
é a linha atual (na verdade você pode omitir o ponto na maioria dos casos;:.,+3yank
e:,+3yank
é o mesmo)+n
e-n
.Veja
:help [range]
para mais informações.fonte
:4yank
com:4y
Além da resposta de Carpetsmoker, devo destacar o incrível
:help :m
e:help :t
.Se você deseja copiar a linha 4 para a direita abaixo da linha atual, faça isso:
ou isso, se você deseja copiar essa linha logo acima da linha atual:
fonte
Além dos comandos ex-mode que você possui, é possível alcançá-lo também no modo de comando, por exemplo:
4GY''
- o que significa: ir para a linha 4 (4G
), puxar a linha (Y
) e retornar à linha anterior (''
).Você também pode usar marcas de salto; para sua segunda pergunta, por exemplo:
mm3kY'm
- o que significa: defina a marca m (mm
), suba três linhas (3k
), puxe a linha (Y
), retorne à marca m ('m
).fonte
Basta digitar
puxar a linha 4
ele entrará no registro sem nome. Então, (por exemplo), você pode usar
p
para colocá-lo em outro lugar. Você também pode usar[n]p
, por exemplo, 10p para colar 10 vezes.Você pode colocá-lo em um registro nomeado como "a" com
fonte
4G"ayy
.Você pode fazer
A configuração do número relativo também ajuda a se mover entre linhas de código.
Agora você pode copiar a 5ª linha acima do cursor com:
fonte