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.