代码之家  ›  专栏  ›  技术社区  ›  Egor Rogov

VIM:锁定车窗顶线

vim
  •  4
  • Egor Rogov  · 技术社区  · 15 年前

    在VIM中,是否可以锁定窗口的顶行,以便始终在窗口顶部看到缓冲区中的第一行?

    我有一个文件,比如数据库表的转储文件。第一行是列的名称,其他行包含数据。我希望能够上下滚动内容,并始终看到列名。

    注意行可能很长,所以我使用 nowrap 希望列名和内容同时向左和向右滚动。这就是为什么 :1split 不适合——除非有办法同时滚动两个窗口。

    谢谢。

    3 回复  |  直到 11 年前
        1
  •  2
  •   Brian Agnew    15 年前

    您可以同时滚动两个窗口,所以我认为您可以通过拆分窗口和锁定滚动行为来完成您想要的操作。见 :scrollbind this tip 了解更多详细信息。注意你必须锁上 每个 窗口,以便它们同步移动。

        2
  •  1
  •   milton    12 年前

    拆分窗口,降低顶部窗口高度,将最上面的一行设置为第一行,然后返回工作窗口。

    :split
    :resize 1
    gg
    Ctrl-w w
    
        3
  •  0
  •   Aditya    11 年前

    谢谢大家!让我总结一下为我完成工作的实际命令:

    :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