Vimdiff:Comment mettre toutes les modifications à l'intérieur d'une fonction particulière d'un fichier à un autre?
Question
Dans Vimdiff, je sais que je peux utiliser "faire" ou "dp" pour déplacer les changements d'un fichier à l'autre...mais ce sont des changements individuels.Si je dois annuler toutes les modifications apportées à l'intérieur d'un champ d'application spécifique/sélection (dire annuler toutes les modifications apportées à une fonction particulière, mais de laisser le reste intact), est-il un moyen de le faire en une seule fois ?
La solution
Vous pouvez utiliser une sélection visuelle et de la commande ex :diffget
/:diffput
Ainsi, par exemple, pour obtenir les changements pour les entrailles d'un bloc de code ( { ...} )
Vi}:diffget<Enter>
Pour mettre les changements pour les deux joignant les niveaux, y compris les lignes avec les crochets:
V2a}:diffput<Enter>
Notez que puisque ce sont les commandes ex les mouvements sont linewise.Bien sûr, vous pouvez utiliser toute la gamme, de sorte que vous pouvez répéter la portée visuelle, ou de l'utilisation des marqueurs
:'a,'bdiffput
etc.Utilisez votre imagination, c'est vim :)