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

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

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

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


你指这些?

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的函数不错, 我猜应该符合你的需求


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


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

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

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


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


.vimrc 中添加

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

其中这个 7 你自己设置

【热门文章】
【热门文章】