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

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

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

阅读 14.1k
6 个回答

.vimrc 中添加

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

其中这个 7 你自己设置

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

新手上路,请多包涵

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

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

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

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

一直在用这几个配置,楼主可以试试。

nmap ; 10jzz
nmap ' 10kzz
vmap ; 10jzz
vmap ' 10kzz
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进