Como cortar uma linha inteira no vim e colá-la?


198

Eu sei como usar o vcomando no vim, mas preciso de algo que exclua uma linha inteira e me permita colar a mesma linha em outro lugar.

Respostas:


84

Pressionar Shift+ vselecionaria a linha inteira e pressionar a dexcluiria.

Você também pode usar dd, ou seja, não requer que você entre no modo visual.


38
Ou você pode pressionar vv ou dd, que são equivalentes sem o modo visual irritante ser ativado.
jaked122

13
ddmais fácil do que shift + v->d
Kolob Canyon

1
que tal desfazer ... Estou testando meus documentos e não consigo desfazê-los.
Abhishek saharn

19
Que tal colar ??
Becko

1
Normalmente eu não deixo comentários, mas o fato de esse cara não ter dito como colar e ainda ter a resposta aceita fez o meu dia
Cristian E.

422

ddno modo de comando (depois de pressionar escape) cortará a linha, pno modo de comando será colado.

Atualizar:

Para um bônus, de então um movimento cortará o equivalente a esse movimento, assim dwcortará uma palavra, d<down-arrow>cortará esta linha e a linha abaixo d50wcortará 50 palavras.

yyé uma linha de cópia e funciona como dd.

D corta do cursor até o final da linha.

Se você usou v(modo visual), tente V(modo de linha visual) e <ctrl>v(modo de bloqueio visual).


13
Boa resposta. Eu adicionaria Ppara colar a linha antes do cursor no modo de comando. E <Ctrl-R>"para colar a linha no modo de inserção.
Birei

13
E ]pcolar com recuo correto. Mas devemos ter cuidado para não publicar o manual inteiro do vim aqui :).
DaedalusFall

16

Existem várias maneiras de cortar uma linha, todas controladas pela dtecla no modo normal. Se você estiver usando o modo visual (a vtecla), basta pressionar a dtecla depois de destacar a região que deseja cortar. Vá para o local que você deseja colar e pressione a ptecla para colar.

Também vale mencionar que você pode copiar / recortar / colar dos registros. Suponha que você não tenha certeza de quando ou onde deseja colar o texto. Você pode salvar o texto em até 24 registros identificados por uma letra alfabética. Basta acrescentar seu comando com '(aspas simples) e a letra do registro (a a z). Por exemplo, você pode usar o modo visual ( vtecla) para selecionar algum texto e digitar 'adpara recortar o texto e armazená-lo no registro 'a'. Depois de navegar para o local em que deseja colar o texto, você digitaria 'appara colar o conteúdo do registro a.


14

Exclua a linha atual e copie para a área de transferência:

d + d

Cole o conteúdo da área de transferência :

(Mantenha pressionado) Shift+P


12

Digamos que você queira cortar a linha bbbe colá-la sob a linha---

Antes:

aaa
bbb
---

Depois de:

aaa
---
bbb
  1. Coloque o cursor na linha bbb
  2. Pressione d+d
  3. Coloque o cursor na linha ---
  4. pressione p

insira a descrição da imagem aqui


11
  1. pressione 'V' no modo normal para selecionar a linha inteira
  2. depois pressione 'y' para copiá-lo
  3. vá para o local em que deseja colar e pressione 'p' para colar após o cursor ou 'P' para colar antes dele.


7

A maneira mais rápida que encontrei é através do modo de edição:

  1. Pressione yypara copiar a linha.
  2. Em seguida, ddpara excluir a linha.
  3. Em seguida, pcole a linha.

4

Apenas três passos.

  1. No modo de comando, vá para a posição inicial do texto que deseja copiar e pressionev
  2. Vá para a posição final do texto e pressioned
  3. Vá para o local que deseja colar e pressionep
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.