Vim:当页面滚动时停止光标移动

3

在编写代码的时候,经常需要查看其他部分的代码,但是每当我滚动页面并且光标到达页面底部或顶部时,页面会开始滚动,这意味着我必须重新搜索我正在编写的那行代码。这真的很烦人。你有没有想法可以禁用这个功能?

4个回答

3

它无法被禁用,但如果你正在编写语句并想快速返回到之前的位置,只需按下gi即可回到上次插入的位置。


哦,而且在查找所需内容之前,您肯定需要进入正常模式,这是我觉得非常自然的事情。 - dmedvinsky
1
好的,gi看起来很不错,但是当我仍然处于插入模式时,我习惯使用鼠标滚轮进行滚动,所以似乎我必须在进行滚动之前返回到正常模式 :-( - Rafid

2

另一个有用的vim技巧是设置标记。 m{a-zA-Z} 在光标位置设置一个标记{a-zA-Z}。然后,您可以通过`{a-zA-Z}将光标(和窗口)发送回那里。


嗯,这有点像一个任务。所以我必须进入正常模式,按下ma,然后滚动一下,再按'a然后回到插入模式!这太麻烦了 :-) 但是无论如何,这是个好建议,比起要搜索行数来确定我的位置要好。我过去常做的是输入u来撤销(这会带我回到上次编辑的行),然后按^R来重做我最后写的东西。 - Rafid
我也不喜欢使用标记。另一个想法可能是`. - 类似于gi,但它会带您到最后编辑的行。 - ajwood
“.”(即“点号”)将带您到上次编辑的位置。此外,如果您在vim中通常处于插入模式,则可能需要重新考虑您的vim使用策略 :) - Maxim Sloyko
阅读这篇关于vim模式的优秀文章:http://www.viemu.com/a-why-vi-vim.html,以了解我的意思。 - Maxim Sloyko

2

当我查看文件的多个部分时,我经常会将窗口分割。使用:sp进行水平拆分,使用:vs进行垂直拆分。


1

你所需要的只是这些按键:

zz , zt and zb

光标位置不变,但您的窗口会移动。(当然是在正常模式下)

zz the cursor position is centered
zt the cursor position is at the top
zb the cursor position is at the bottom 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接