Vimdiff: Come mettere tutte le modifiche all'interno di una particolare funzione da un file all'altro?

StackOverflow https://stackoverflow.com/questions/6093746

  •  09-09-2020
  •  | 
  •  

Domanda

In Vimdiff, so che posso usare "DO" o "DP" per spostare le modifiche da un file all'altro ... ma questi sono per le singole modifiche.Se devo annullare tutte le modifiche all'interno di una specifica portata / selezione (dire annullare tutte le modifiche a una particolare funzione, ma lasciare il resto intatto), c'è un modo per farlo in un unico andare?

È stato utile?

Soluzione

È possibile utilizzare una selezione visiva e il comando ex :diffget / :diffput

Quindi, ad esempio per ottenere le modifiche per solo gli interni attuali di un blocco di codice ({...})

Vi}:diffget<Enter>
.

A PUT Le modifiche per i due livelli di allevamento comprendono le linee con le parentesi:

V2a}:diffput<Enter>
.

Nota che poiché questi sono ex comandi I movimenti sono linewise.Naturalmente, è possibile utilizzare qualsiasi intervallo, in modo da poter ripetere la gamma visiva o utilizzare i marcatori

:'a,'bdiffput
.

ecc.Usa la tua immaginazione, questo è Vim :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top