19

我有一个包含数千行数千个字符的大文件。

我将光标移动到第 3000 个字符。

如果我使用PageDownor Ctrl+ D,文件将滚动,但光标将返回到第一个无空格字符。

有一个选项可以设置为在此类滚动后将光标保持在同一列中?

我在Window上使用 gvim ,在OpenVMSCygwin上使用vim 。

4

4 回答 4

29
CTRL-E - scroll down
CTRL-Y - scroll up

例如100<CTRL-E>将向下滚动 100 行

如果您喜欢使用PageUp,PageDownCtrl+D等,您可以设置“nostartofline”选项

:set nostartofline
于 2009-02-18T15:33:34.023 回答
7

好吧,一种简单的方法是使用移动键。例如,向下 100 行保持光标在同一列:“100j”

编辑:

好吧,再搜索一点以真正找到您问题的答案,有一个选项可以完全按照您的意愿行事:

:set nostartofline
于 2009-02-18T15:32:43.307 回答
3

最近的插件

我正在使用terryma/vim-smooth-scrolling插件,因为它提供了非常漂亮和平滑的滚动。


安装,您可以使用Vundle

Bundle terryma/vim-smooth-scrolling

如文档中所述,您可以设置 3 个参数:距离持续时间速度

我在我的.vimrc文件中使用它:

noremap <silent> <c-b> :call smooth_scroll#up(&scroll*2, 10, 4)<CR>
noremap <silent> <c-f> :call smooth_scroll#down(&scroll*2, 10, 4)<CR>
于 2013-05-26T05:36:07.947 回答
1

这可能根本不适合你的情况,但如果它更容易打破线条,你可以在某个字符处打破它们,例如在':'之后

:%s/:/\r&/g

或每 80 个字符

:%s/.\{80}/&\r/g
于 2009-02-18T15:39:14.180 回答