J'ai deux fichiers ouverts. Ils sont ouverts en mode vertical, à côté du suivant. Puis-je comparer instantanément ces deux fichiers sans quitter ou fermer Vim?Prendre diff de deux fenêtres ouvertes verticalement dans Vim
51
A
Répondre
79
pour commencer diffing sur toutes les fenêtres visibles:
:windo diffthis
qui exécute :diffthis
sur chaque fenêtre.
Pour mettre fin au mode diff:
:diffoff!
(Le !
fait diffoff
applique à toutes les fenêtres de l'onglet en cours - ce serait bien si diffthis
avait la même fonction, mais il ne fonctionne pas.)
15
dans chacune des fenêtres que vous voulez taper diff:
:diffthis
Si vous voulez diff toutes les fenêtres ouvertes, vous pouvez le faire:
:windo diffthis
(windo
appliquera la commande à toutes les fenêtres ouvertes)
0
suite aux réponses précédentes,
:windo difft
(abréviation dediffthis
) va lancer le mode diff dans tous les wi ouvert ndows.:windo diffo
(abréviation dediffoff
) arrêtera le mode diff dans toutes les fenêtres ouvertes.
J'ai les applications suivantes dans mon vimrc
pour le rendre plus facile:
command! Difft windo diffthis
command! Diffo windo diffoff
La ': commande windo' fait encore mieux. Merci. Je vais le mapper pour le rendre plus facile. –
C'est une bonne réponse, mais notez que la fenêtre minibufexplorer doit être fermée avant cette opération, si elle est ouverte. Sinon, diff affiche des résultats incorrects. – baldrs
On peut utiliser un alias': windo difft [this] '. Réf: ': aide diff' – DmitrySandalov