Faire défiler les deux parties d'une fenêtre fractionnée en même temps dans Vim


119

Est-il possible de faire défiler les parties gauche et droite d'une fenêtre fractionnée verticalement dans Vim? J'ai deux fichiers que je voudrais comparer grosso modo. Chaque ligne de ces fichiers a presque la même apparence .

Réponses:


90

Consultez la documentation pour la liaison de défilement . Vous devrez définir ceci pour chaque fenêtre que vous souhaitez lier (par exemple un minimum de 2)

Si vous comparez 2 fichiers, cependant, vimdiff peut être plus utile


4
Vimdiff ... où étais-tu toute ma vie?
hoosierEE

@BrianAgnew nous donne juste une commande pour copier, mec. Rend nos vies plus faciles. Merci pour vimdiff, cependant!
Nathan

184

Accédez à la première division et saisissez

:set scrollbind

Passez au suivant ( ctrl+ w) et faites de même.

Pour désactiver:

:set noscrollbind

Pour plus d'informations, consultez la documentation sur la liaison de défilement - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Si tous les fichiers sont ouverts, vous pouvez également le :windo set scrollbinddéfinir pour tous les fractionnements à la fois.
Bernhard

54
:windo set scrollbind

définira scrollbind dans toutes les fenêtres.


3
Si vous vous trouvez à faire cela beaucoup, il peut être utile d'avoir quelque chose comme nmap <F5> :windo set scrollbind!<cr>activer le scrollbind dans toutes les fenêtres ouvertes.
jlund3

Je ne sais pas pourquoi mais cela scrollbind!n'a pas fonctionné pour moi, mais je l' invscrollbindai fait. Une SUPER cartographie. Merci!
UlfR

11

G'day,

Vous avez essayé d'utiliser vimdiff sur les deux fichiers?

vimdiff file1 file2

Cela vous donnera la liaison de défilement par défaut.


1
le problème est que toutes les lignes diffèrent, ça commence à être un désordre .. Les lignes sont presque les mêmes mais peuvent différer d'un caractère ... et je ne veux pas que mon point de vue soit trop perturbé..merci cependant.
LB40

1
@ LB40, vous pourriez envisager de modifier votre choix de couleurs, voir stackoverflow.com/questions/24666558
...

8

Depuis la ligne de commande:

vim -O file1 file2 -c 'windo set scb!'

-O = ouvert côte à côte.

-c = ce qui suit entre guillemets est traité comme une option vim.

'windo' = s'applique à tous les panneaux.

'scb' = raccourci pour scrollbind. Enregistre un peu de frappe, mais les deux sont interchangeables.

'!' = basculer. De cette façon, vous pouvez utiliser la même commande pour le désactiver ultérieurement si vous le souhaitez.


5

Pour la postérité, voici ce que je devais faire, puisque je n'ai pas commencé avec vimdiff.

J'ai chargé un fichier. Ensuite: vsp pour charger l'autre.

Ce sont des fichiers assez différents, mais je voulais voir ce qui est commun entre eux.

Alors...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Vous pouvez obtenir tous ceux-ci pour un tampon donné (: diff,: diffopt,: scrollbind) en une seule commande avec: diffthis dans chacun des tampons
qneill
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.