始终在Vim中显示缓冲区的前几行

7
我经常使用gVim和Vim来查看数据表格,其中顶部行是标题。在浏览表格的同时是否有办法显示该顶部行?同样的问题也适用于第一列作为行标题的情况,请问有解决方法吗? 编辑:我接受了一个很好的答案(也有其他答案)来显示顶部列。
水平方向上(第一行),等同于我所接受的答案是:
:vert split
ctrl+w 5 |

或者

ctrl+w v
ctrl+w 10 |

希望能够同时做到这两点,但显然并不是一件简单的事情。

4个回答

8
您可以在两个窗口中打开文件(命令行:vim -o file filectrl+w n :o file),其中一个是固定的,您可以在另一个窗口中滚动。
如果要查看前5行,请按ctrl+w 5 _

4
打开同一个文件(缓冲区)的更简单方法是使用“Ctrl+W S”键分割窗口。 - Idan Arye
或者只需键入 :sp 来拆分窗口。 - dash-tom-bang

5
如果你经常使用datatables,你可能想看一下csv插件。它有一个:HeaderToggle命令,正好可以做到你想要的,还有其他很多你可能会觉得有用的命令。

很好的提示,非常有用。我也使用制表符和空格分隔的文件,这个链接提供了如何处理这些文件的好建议:http://vim.1045645.n5.nabble.com/Mode-for-tab-delimited-files-td1161575.html。特别是,您可以使用`:let g:csv_delim=" *"更改CSV插件的分隔符,并使用:set filetype=csv`将文件加载为CSV。 - keflavich

2

在这种情况下,使用预览窗口(请参见 :help preview-window)会很方便。要打开预览窗口并显示当前文件的前8行,请执行以下命令。

:set previewheight=8
:pedit +1

使用命令:pclose(简写为:pc)或快捷键Ctrl+W, Z可以关闭预览窗口。


预览窗口似乎默认不启用滚动绑定。相比于简单的分屏,预览有什么优势吗? - keflavich
根据问题描述,您想在查看/编辑文件的其余部分时始终查看文件的第一行。此解决方案中的预览窗口打开以显示前几行,而您可以在原始窗口中自由编辑。那么,为什么要“scrollbind”这些窗口呢?关于预览窗口的优点,有两个主要的优点:(1)很容易打开和关闭预览窗口,而不会失去焦点并在窗口之间切换,(2)预览窗口默认配置为保持其大小和位置。 - ib.
这很有帮助。我想要开启scrollbind的原因是表格的宽度可能比vim窗口更宽;我想要水平scrollbind,以便我可以继续看到标题向左右滚动。 - keflavich

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接