Прокрутка вниз обеих частей разделенного окна одновременно в Vim


119

Можно ли в Vim прокрутить вниз левую и правую части вертикально разделенного окна? У меня есть два файла, которые я хотел бы приблизительно сравнить. Каждая строка этих файлов выглядит почти одинаково.

Ответы:


90

См. Документацию по привязке прокрутки . Вам нужно будет установить это для каждого окна, которое вы хотите связать (например, минимум 2)

Однако, если вы сравниваете 2 файла, vimdiff может оказаться более полезным.


4
Вимдифф ... где ты был всю мою жизнь?
— hoosierEE

@BrianAgnew, просто дай нам команду скопировать, чувак. Делает нашу жизнь проще. Но спасибо за vimdiff!
— Натан

185

Перейдите к первому разделению и введите

:set scrollbind

Перейдите к следующему ( ctrl+ w) и сделайте то же самое.

Отключить:

:set noscrollbind

Дополнительные сведения см. В документации по привязке прокрутки - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


59
Если у вас открыты все файлы, вы также :windo set scrollbindможете установить его для всех разделений сразу.
— Bernhard

54
:windo set scrollbind

установит scrollbind во всех окнах.


3
Если вы обнаружите, что делаете это nmap <F5> :windo set scrollbind!<cr>часто , было бы полезно иметь что-то вроде переключения прокрутки во всех открытых окнах.
— jlund3

Не знаю почему, но scrollbind!у меня не сработало, но сработало invscrollbind. СУПЕР отображение. Спасибо!
— UlfR

11

G'day,

Пробовали использовать vimdiff для двух файлов?

vimdiff file1 file2

Это даст вам привязку прокрутки по умолчанию.


1
проблема в том, что все строки различаются, это начинает превращаться в беспорядок .. Строки почти такие же, но могут отличаться на один символ ... и я не хочу, чтобы мой взгляд был сильно нарушен ... хотя, спасибо.
— LB40 07

1
@ LB40 вы могли бы рассмотреть настройки вашего ColorScheme см stackoverflow.com/questions/24666558/...
— qneill

8

Из командной строки:

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

-O = открывать бок о бок.

-c = то, что следует в кавычках, рассматривается как опция vim.

'windo' = применяется ко всем панелям.

'scb' = сокращение от scrollbind. Экономит набор текста, но они взаимозаменяемы.

'!' = переключить. Таким образом, вы можете использовать ту же команду, чтобы выключить его позже, если захотите.


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.