Прокручуючи обидві частини розділеного вікна одночасно у Vim


119

Чи можна прокручувати ліву та праву частини вертикально розділеного вікна у Vim? У мене є два файли, які я хотів би приблизно порівняти. Кожен рядок цих файлів виглядає майже однаково.

Відповіді:


90

Див. Документацію для прив’язки прокрутки . Вам потрібно буде встановити це для кожного вікна, яке ви хочете зв'язати (наприклад, як мінімум 2)

Якщо ви порівнюєте 2 файли, vimdiff може бути кориснішим


4
Vimdiff ... де ти було все життя?
hoosierEE

@BrianAgnew просто дай нам команду копіювати, чоловіче. Полегшує наше життя. Дякую за vimdiff, хоча!
Натан

184

Перейдіть до першого розділення та введіть

:set scrollbind

Перейдіть до наступного ( ctrl+ w) і зробіть те ж саме.

Щоб відключити:

:set noscrollbind

Для отримання додаткової інформації перегляньте документацію щодо прив'язки прокрутки - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Якщо у вас відкриті всі файли, ви також :windo set scrollbindможете встановити їх відразу для всіх розщеплень.
Бернхард

54
:windo set scrollbind

встановить прокрутку у всіх вікнах.


3
Якщо ви дуже часто робите це, може бути корисним щось nmap <F5> :windo set scrollbind!<cr>переключити прокрутку в усіх відкритих вікнах.
jlund3

Не знаю чому, але scrollbind!не працював для мене, але invscrollbindробив. СУПЕР-картування. Дякую!
UlfR

11

День,

Спробували за допомогою файлу vimdiff на двох файлах?

vimdiff file1 file2

Це дасть вам прив'язку прокрутки за замовчуванням.


1
проблема полягає в тому, що всі рядки відрізняються, він починає безлад. Рядки майже однакові, але можуть відрізнятися на один символ ... і я не хочу, щоб мій погляд був занадто сильно порушений.
LB40

1
@ LB40 ви могли б розглянути налаштування вашого ColorScheme см stackoverflow.com/questions/24666558 / ...
qneill

8

З командного рядка:

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

-O = відкрити пліч-о-пліч.

-c = те, що випливає з лапок, трактується як варіант vim.

'windo' = застосовується до всіх панелей.

'scb' = скорочення для прокрутки. Економлять деякі під час введення тексту, але обидва є взаємозамінними.

'!' = тумблер. Таким чином, ви можете використовувати ту саму команду, щоб згодом її вимкнути пізніше.


5

Щодо нащадків, ось що мені потрібно було зробити, оскільки я не починав з vimdiff.

Я завантажив один файл. Потім: vsp для завантаження іншого.

Вони досить різні файли, але я хотів побачити, що між ними спільне.

Так...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Ви можете отримати всі ці дані для даного буфера (: diff,: diffopt,: scrollbind) в одній команді з: diffthis у кожному з буферів
qneill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.