Vim在滚动时保持光标位置

时间:2009-03-25 06:41:18

标签: vim

滚动时有没有办法在Vim / gVim中将cusror位置保持在屏幕外?与许多Windows编辑器类似 我知道标记,并使用它们。我也知道'。'标记(最后编辑位置),但寻找其他想法。 我问这个是因为有时我想把光标放在某个位置,使用鼠标滚轮滚动到另一个地方,然后只需按一下罗盘键或其他东西让我回到那个位置。

6 个答案:

答案 0 :(得分:33)

没有。 vim是一个控制台应用程序,所以将cursour放在屏幕外是没有意义的(这是可能的,但只会让人感到困惑)

另一种解决方案,用this thread from comp.editors来解释帖子:

Ctrl+o转到上一个光标位置,Ctrl+i转到下一个(如撤消/重做动作)

马克斯似乎是另一种解决方案..

  

另外,使用标记。标记以字母命名。例如,键入ma记得   标记a下的当前位置。要跳转到包含标记a的行,   输入'a。到确切的位置使用`a。

     

小写字母标记是每个文件。大写字母标记是全局的;   `A将切换到包含标记A的文件到确切位置。

基本上ma,四处走动,然后是'a跳回来。

保罗建议的另一种选择,

  

gi命令将Vim切换到插入模式,并将光标放在与上次停止插入模式的位置相同的位置。

答案 1 :(得分:17)

为什么不拆分窗口,看看你想看什么,然后关闭拆分?

:split

:vsplit (if you want to split vertically)

答案 2 :(得分:11)

有时您可以避免在输入文本之前跳转到标记 - gi命令将Vim切换到插入模式并将光标放在与上次停止插入模式的位置相同的位置。

答案 3 :(得分:10)

我在Vim中发现的唯一类似行为:

z t "尽可能向下滚动屏幕而不移动光标"

z b "尽可能向上滚动"。

Ctrl + E "如果可能的话,向下滚动一行"

Ctrl + Y "如果可能,滚动一行,#34;

答案 4 :(得分:4)

同样非常有用的是''(2x单引号)和``(2x后引号)。 前者跳回到最后一次跳转之前的行(例如,向下翻页)。 后者跳回到最后一次跳跃之前的行。

答案 5 :(得分:3)

Google表示光标(以及当前行)必须在Vi中可见,因此您必须使用标记。