gvim - vim翻页(滚屏)时,如何保持光标在屏幕中的位置固定不变?

浏览:39日期:2023-08-08

问题描述

vim翻页(滚屏)时,默认光标会上移到屏幕顶端或下移到屏幕底端,我希望能保持在屏幕中的位置不变,即只移动文字,但不移动光标(相对屏幕而言)的位置。

该怎么实现呢?求教,先谢过!

问题解答

回答1:

你指这些?

ctrl + y 向上一行ctrl + e 向下一行ctrl + u 向上半屏ctrl + d 向下半屏ctrl + b 向上一屏ctrl + f 向下一屏

可以看看这个stackoverflow的回答

http://stackoverflow.com/questions/3458689/how-to-move-screen-without-moving-cursor-in-vim

下面那个ToggleScrollMode的函数不错, 我猜应该符合你的需求

回答2:

如果无法安装插件,可以尝试打开vim的相对行号显示,翻页后依据相对行号快速跳转。

回答3:

.vimrc 中添加

' 在上下移动光标时,光标的上方或下方至少会保留显示的行数set scrolloff=7

其中这个 7 你自己设置

回答4:

你可以在滚动结束后zz使所在行对齐到正中,类似于emacs的<C-l>

回答5:

ctrl-d 向下翻半屏,光标不会移动

ctrl-f 向下翻一屏,会标会移动。

shift-m 将光标移动到屏幕中间,可以在 ctrl-f 翻屏后使用

相关文章: