2010-02-16 2 views
5

Non so se si tratta di un problema ritardato ma è un dilemma divertente. Quando voglio cancellare il testo che voglio posizionare da qualche altra parte, ma quel posto ha un altro gruppo di testo che non voglio, vorrei eliminare quel testo, ma nel processo copio un nuovo clipboard in modo che il testo cancellato in precedenza scompaia .Come eliminare (testo desiderato), eliminare (testo indesiderato) e incollare (testo desiderato) in Vim

Qualche suggerimento per risolvere questo problema?

risposta

9

Alcune soluzioni possibili:

eliminare il testo indesiderato prima :)

o

Quando si elimina l'archivio testo desiderato in un registro diverso registro di default per esempio per eliminare il testo desiderato fino alla fine della riga corrente e riporla nel registro b:

"bd$ 

Quindi eliminare il testo indesiderato.

Quindi incollare il contenuto del registro B:

"bp 

o

Eliminazione del testo indesiderato al registro buco nero come suggerito nella risposta legata al da Yarek T utilizzando:

"_d 
6

forse questa domanda potrebbe far luce sul problema. 54255

Utilizza il "buffer dei buchi neri" per eliminare le righe senza aggiungerle al buffer dello yank.

2

Un'altra soluzione è utilizzare il numero reg stri. Quando si cancella un blocco di testo, esso viene spostato nel registro 1, il contenuto corrente del registro 1 viene spostato nel registro 2, ecc. Il contenuto del registro 9 viene scartato. Tuttavia, questo funziona solo per le modifiche più lunghe di una riga, quindi le piccole eliminazioni non vengono acquisite.

Così è possibile eliminare la prima regione, eliminare la seconda regione, quindi incollare dal registro 2.

Personalmente preferisco usare registri az, ma i registri numerati sono utili se si elimina un testo e poi ti rendi conto dimenticato di specificare un registro.

Do :help "1 per ulteriori informazioni.

È anche possibile vedere ciò che è attualmente in tutti i registri, tra 1-9, con :registers

2

Tipo:

:registers 

E si otterrà una lista di registri che contengono tutte le eliminazioni precedenti . Puoi sempre sceglierne uno da incollare. Per esempio.per i registri:

"1 Item1^J 
"2 Item3^J 
"3 Item2^J 

raccogliere il secondo e incollarlo con:

"2p