Como copiar da posição atual para o final da linha no vi


102

Eu uso gvim no windows. Como copiar texto da posição atual para o final da linha no vi e colá-lo em outro arquivo aberto no vi. Eu pesquisei, mas não consigo encontrar uma solução para isso. Agradeço qualquer ajuda nisto. Obrigado.

Respostas:


155

O comando do modo normal para mover para o final da linha é $.

Você pode copiar até o final da linha com y$e colar com p.

Para copiar / colar entre instâncias diferentes, você pode usar a área de transferência do sistema selecionando o *registro, para que os comandos se tornem "*y$para copiar e "*pcolar.

$ mover para quebra de linha

$

y$ arrancar para quebrar a linha

y,$

"*y$ selecione o registro da área de transferência e a quebra de linha

", *, y,$

"*p selecionar pasta de registro da área de transferência

", *,p

Verifique :h registerspara obter mais informações.


Obrigado. mas eu quero colar o conteúdo em 'outro arquivo' aberto no vi. Isso funciona apenas com o mesmo arquivo.
javalearner de

4
Funcionará para qualquer arquivo aberto na mesma instância. Você pode copiar para a área de transferência do sistema selecionando o *(ou +) registro.
Don Reba de

Por que os registros do sistema não funcionam ... Não consigo copiar o contexto file1para file2. Ainda preciso usar o mouse. Qual poderia ser o motivo provavelmente?
Alston

8
Normalmente costumo Dcortar da posição atual até o fim e pcolar (recuperar) os dados originais e, em seguida, mover para outro lugar para colar os dados retirados. Simplesmente porque é muito mais fácil digitar do Dque y$.
neevek

1
@PhilipRego, é y$, sem ponto e vírgula.
Don Reba de

45

Se não quiser incluir a quebra de linha com o puxão, você pode usar yg_. (Ou no seu caso "*yg_)

Basicamente, apenas reconheça que há uma diferença entre $e em termos de g_movimento. Isso me ajudou em várias ocasiões.


3
Existe alguma maneira de trocar g_e $? Eu raramente ou nunca preciso incluir a quebra de linha nos movimentos.
Jonathan Dumaine

1
SIM! a nova linha extra está me deixando louco. Esta é a informação necessária.
javadba de

6
@JonathanDumaine em seu $MYVIMRCadd a linhanmap $ g_
thedanotto

@thedanotto sua pessoa linda
Jonathan Dumaine

9

Adicione esta linha ao seu .vimrc

" Make Y yank till end of line
nnoremap Y y$

Mais no meu vimrc .


3

Uma solução diferente: Dpe cole com p. Na verdade, isso primeiro exclui no final da linha e cola-o novamente no mesmo local. Cole em outro lugar com p.


1
Por que não Du e deixar o arquivo sem modificações? (nota: inclui nova linha)
gene
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.