在Vim中同时向下滚动拆分窗口的两个部分


119

是否可以在Vim中向下滚动垂直拆分窗口的左右部分?我有两个文件,我想大致比较一下。这些文件的每一行看起来几乎相同。

Answers:


90

请参阅文档以了解滚动绑定。您需要为此设置每个要绑定的窗口(例如,最少2个)

但是,如果要比较2个文件,则vimdiff可能更有用


4
Vimdiff ...我一生都在哪里?
hoosierEE 2014年

@BrianAgnew,给我们一个复制命令,伙计。使我们的生活更轻松。谢谢你,谢谢!
弥敦道


54
:windo set scrollbind

将在所有窗口中设置scrollbind。


3
如果您发现自己做了很多事情,那么nmap <F5> :windo set scrollbind!<cr>在所有打开的窗口中进行切换滚动绑定的操作可能会很有用。
jlund3 2013年

不知道为什么,但是scrollbind!对我invscrollbind没有用,但是做了。SUPER映射。谢谢!
UlfR 2014年

11

G'day,

尝试在两个文件上使用vimdiff吗?

vimdiff file1 file2

默认情况下,这将为您提供滚动绑定。


1
问题是所有的行都不同,开始变得一团糟。。行几乎相同,但可能只相差一个字符...而且我不希望我的观点受到太多干扰。.谢谢。
2009年

1
@ LB40你可能会考虑调整你的色彩方案,请参阅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
您可以通过一个命令在每个缓冲区中使用:diffthis来获取给定缓冲区(:diff,:diffopt,:scrollbind)的所有内容
qneill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.