如何使Vim始终在EOF之后显示几行?


15

在Vim中,我不喜欢到达文件末尾时如何将最后一行放在屏幕底部。

无论如何,是否要使最后一行类似于屏幕底部上方的10行,而只是在屏幕下方形成空白行?


2
当光标到达文件的最后一行时,如果单击zz它,将重新绘制屏幕,​​并将当前行置于窗口的中心,该窗口应~在EOF之后显示几行。
user9433424

是的,但是如果再次移动光标,请再次将其置于底部。
米格尔·维拉

3
听起来好像已经scrolloff设置了选项。尝试:set scrolloff=0,这种行为应该改变。
Tumbler41年

1
您可以在此处阅读答案:stackoverflow.com/questions/7406814/…还有更多答案,基本上不可能,只有解决方法。
迈克,

确实,该行为已得到纠正!谢谢
Miguel Vera

Answers:


16

您可以使用ctrlE向下滚动文件,当您位于文件末尾时,它将添加“虚拟”行,因此文件的最后一行不在窗口底部。

另外,您可以使用该选项scrolloff来始终让光标后移几行,然后将其添加到您的.vimrc

set scrolloff=10

有关更多详细信息,请参见:h 'scrolloff':h CTRL-E


1
不幸的是,设置scrolloff为10仍不会像OP那样显示EOF之后的行。
Tumbler41年

事实上,这就是为什么我建议使用CTRL-Escrolloff只是“额外的”。现在这是一个部分解决方案,OP可以自由地不接受它,因为它不能完全回答问题。
statox

1
尽管这只是部分解决方案,但我认为这CTRL-E是我一直在寻找的东西。我很想知道是否有一种方法可以在EOF之后自动显示行。
米格尔·维拉

@Miguel我很高兴它符合您的需求。我认为有可能创建一个映射,<C-e>当您向下滚动时会调用该映射,但我真的不确定它是否可以正常工作...我将尝试看看可以做什么,但我不确定就能创建一些方便的东西。
statox

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.