首页  >  问答  >  正文

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

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

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

给我你的怀抱给我你的怀抱2734 天前1115

全部回复(5)我来回复

  • 漂亮男人

    漂亮男人2017-05-16 16:38:15

    你指这些?

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

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 16:38:15

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

    回复
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:38:15

    .vimrc 中添加

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

    其中这个 7 你自己设置

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 16:38:15

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

    回复
    0
  • 迷茫

    迷茫2017-05-16 16:38:15

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

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

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

    回复
    0
  • 取消回复