Come tagliare un'intera linea in vim e incollarla?


198

So usare il vcomando in vim, ma ho bisogno di qualcosa che eliminerà un'intera linea e dovrebbe permettermi di incollare la stessa linea da qualche altra parte.

Risposte:


84

Premendo Shift+ vsi seleziona l'intera riga e si premed eliminarla.

Puoi anche usare dd, il che non richiede di accedere alla modalità visiva.


38
Oppure potresti premere vv, o dd, che sono equivalenti senza l'attivazione della fastidiosa modalità visiva.
jaked122

13
ddpiù facile di shift + v->d
Kolob Canyon,

1
che dire di annullare ... Sto provando i miei documenti e non riesco a annullarli.
Abhishek saharn,

19
Che ne dici di incollare ??
becko,

1
Normalmente non faccio cadere commenti ma il fatto che questo ragazzo non abbia detto come incollare e abbia ancora ricevuto la risposta accettata ha reso la mia giornata
Cristian E.

422

ddin modalità di comando (dopo aver premuto Esc) taglierà la linea, pin modalità di comando verrà incollato.

Aggiornare:

Per un bonus, dquindi un movimento taglierà l'equivalente di quel movimento, quindi dwtaglierà una parola, d<down-arrow>taglierà questa linea e la riga sotto, d50wtaglierà 50 parole.

yyè una linea di copia e funziona come dd.

D taglia dal cursore alla fine della linea.

Se hai utilizzato v(modalità visiva), dovresti provare V(modalità linea visiva) e <ctrl>v(modalità blocco visivo).


13
Buona risposta. Vorrei aggiungere Pper incollare la linea prima del cursore in modalità comando. E <Ctrl-R>"per incollare la linea in modalità inserimento.
Birei,

13
E ]pincollare con rientro corretto. Ma dovremmo stare attenti a non pubblicare l'intero manuale di VIM qui :).
Dedalo

16

Esistono diversi modi per tagliare una linea, tutti controllati dal dtasto in modalità normale. Se stai usando la modalità visiva (il vtasto) puoi semplicemente premere il dtasto dopo aver evidenziato la regione che vuoi tagliare. Spostati nella posizione che desideri incollare e premip tasto per incollare.

Vale anche la pena ricordare che è possibile copiare / tagliare / incollare dai registri. Supponi di non essere sicuro di quando e dove desideri incollare il testo. È possibile salvare il testo in un massimo di 24 registri identificati da una lettera alfabetica. Basta anteporre il tuo comando con '(virgoletta singola) e la lettera di registro (dalla a alla z). Ad esempio, è possibile utilizzare la modalità visiva ( vtasto) per selezionare del testo e quindi digitare 'adper tagliare il testo e memorizzarlo nel registro "a". Una volta navigato nella posizione in cui si desidera incollare il testo, digitare 'apper incollare il contenuto del registro a.


14

Elimina la riga corrente e copia negli appunti:

d + d

Incolla il contenuto degli appunti :

(Tenere premuto) Shift+P


12

Diciamo che volevi tagliare la linea bbbe incollarla sotto la linea---

Prima:

aaa
bbb
---

Dopo:

aaa
---
bbb
  1. Posiziona il cursore sulla linea bbb
  2. Premi d+d
  3. Posiziona il cursore sulla linea ---
  4. stampa p

inserisci qui la descrizione dell'immagine


11
  1. premere 'V' in modalità normale per selezionare l'intera riga
  2. quindi premere 'y' per copiarlo
  3. vai nel punto in cui vuoi incollarlo e premi 'p' per incollare dopo il cursore o 'P' per incollarlo prima.


7

Il modo più veloce che ho trovato è attraverso la modalità di modifica:

  1. Premere yyper copiare la riga.
  2. Quindi ddper eliminare la riga.
  3. Quindi pper incollare la linea.

4

Solo tre passaggi.

  1. In modalità comando, vai alla posizione iniziale del testo che desideri copiare e premiv
  2. Vai alla posizione finale del testo e, premid
  3. Vai nel punto che desideri incollare e, premip
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.