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

发布于 2022-09-03 09:05:19 字数 104 浏览 24 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

玩心态 2022-09-10 09:05:19

.vimrc 中添加

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

其中这个 7 你自己设置

寄居人 2022-09-10 09:05:19

你指这些?

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

鸠魁 2022-09-10 09:05:19

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

香草可樂 2022-09-10 09:05:19

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

演出会有结束 2022-09-10 09:05:19

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

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

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

半岛未凉 2022-09-10 09:05:19

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

nmap ; 10jzz
nmap ' 10kzz
vmap ; 10jzz
vmap ' 10kzz
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文