Vim 底部的 space 怎么去掉?
How do you remove the space at the bottom of Vim?
我最近开始使用 MacVim,想知道如何更改 Vim 的滚动行为,以便当滚动条到达代码末尾时,它不会移动更进一步(这让我很恼火,因为我使用的其他文本编辑器不是这样的,如果我快速尝试滚动到底部,它会超过最后几行)。现在,在代码的最后一行和编辑器的结尾之间总是有一些空行。有什么特别的原因吗?
(我指的就是这个):
控制缓冲区视口的能力是Vim的固有部分;我不知道有任何可能影响它的选项。将光标放在缓冲区中的最后一行[之一]上,您可以使用[count]zb
(重新绘制底部的当前/[count]
行) 命令来获得你想要的布局。
您或许能够在 :autocmd CursorMoved * ...
触发器上自动执行此操作,但以编程方式确定当前视口是否需要此类校正(考虑 :set wrap
之类的事情)可能相当困难。
至少有一个原因是这样的:
有一个滚动命令,使光标位于屏幕顶部:zt
。如果您的光标位于文件的最后一行,则您描述的行为是此工作所必需的。
虽然你问了一个方法来禁用它,但我不知道有什么方法可以做到这一点。
超级用户对这个问题的回答表明确实不可能这样做:
https://superuser.com/questions/381406/dont-let-vim-scroll-below-bottom-line
我最近开始使用 MacVim,想知道如何更改 Vim 的滚动行为,以便当滚动条到达代码末尾时,它不会移动更进一步(这让我很恼火,因为我使用的其他文本编辑器不是这样的,如果我快速尝试滚动到底部,它会超过最后几行)。现在,在代码的最后一行和编辑器的结尾之间总是有一些空行。有什么特别的原因吗?
(我指的就是这个):
控制缓冲区视口的能力是Vim的固有部分;我不知道有任何可能影响它的选项。将光标放在缓冲区中的最后一行[之一]上,您可以使用[count]zb
(重新绘制底部的当前/[count]
行) 命令来获得你想要的布局。
您或许能够在 :autocmd CursorMoved * ...
触发器上自动执行此操作,但以编程方式确定当前视口是否需要此类校正(考虑 :set wrap
之类的事情)可能相当困难。
至少有一个原因是这样的:
有一个滚动命令,使光标位于屏幕顶部:zt
。如果您的光标位于文件的最后一行,则您描述的行为是此工作所必需的。
虽然你问了一个方法来禁用它,但我不知道有什么方法可以做到这一点。 超级用户对这个问题的回答表明确实不可能这样做: https://superuser.com/questions/381406/dont-let-vim-scroll-below-bottom-line