2012-04-16 21 views
15

Sto usando vimdiff per vedere la differenza tra due file. Mi chiedo se è possibile copiare una riga dalla scheda sinistra (il primo file) e incollarla nella seconda scheda (il secondo file). In realtà, non riesco nemmeno a essere in grado di accedere alla seconda scheda.copia-incolla linee tra le schede in vimdiff

Grazie!

+4

Utilizzare 'dp' per copiare il blocco di differenza corrente su un altro lato,' do' per copiare da un altro lato verso il corrente. 'dp' significa" put ",' do' significa "ottenere". Il blocco della differenza attuale è dove si trova il tuo cursore. Accanto a ciò: offtopic. – Vlad

+1

Grazie. Ho anche appena scoperto che Ctrl W + Ctrl W era la scorciatoia per passare da una scheda all'altra. – nay

+0

Puoi trovare ulteriore aiuto in ': help diff' o http://vimdoc.sourceforge.net/htmldoc/diff.html – Vlad

risposta

12

Come menzionato nei commenti, è possibile utilizzare dp o do per spostare il diff il cursore si trova tra i buffer.

È inoltre possibile utilizzare i comandi :[range]diffget e :[range]diffput, che significa se hai già esaminato tutte le differenze del tutto il file, si può fare :1,$diffput o :1,$diffget per spostare tutte le diff da o verso, rispettivamente, il buffer corrente.

+1

+1 per ': diffget' che funziona anche per diverse linee selezionate usando la modalità linewise-visuale di Vim, a differenza di' do'! – Melebius