是否可以在Vim中锁定窗口的顶行,以便缓冲区中的第一行始终位于窗口的顶部?
我有一个文件,比如说,转储数据库表。在第一行有列的名称,其他行包含数据。我希望能够上下滚动内容,并始终查看列名称。
N.B。行可能很长,所以我使用nowrap
并希望列名和内容同时向右和向左滚动。这就是:1split
不合适的原因 - 除非有办法同时滚动两个窗口。
感谢。
答案 0 :(得分:2)
您可以同时滚动两个窗口,因此我认为您可以通过拆分窗口并锁定滚动行为来执行您想要的操作。有关详细信息,请参阅:scrollbind和this tip。请注意,您必须锁定每个窗口才能使它们同步移动。
答案 1 :(得分:1)
拆分窗口,减小顶部窗口高度,将最顶部的行设置为第一行,然后返回工作窗口。
:split
:resize 1
gg
Ctrl-w w
答案 2 :(得分:1)
谢谢你们!让我总结为我完成工作的实际命令:
:1spl # create an extra window with only 1 line
:set scrollbind # synchronize upper window
ctr+W , arrowDown # switch to other window
:set scrollbind # synchronize lower window
:set sbo=hor # synchronize horizontally