代码之家  ›  专栏  ›  技术社区  ›  Ayman

Vim在滚动时保持光标位置

vim
  •  47
  • Ayman  · 技术社区  · 17 年前

    在Vim/gVim中滚动时,是否有办法使cusror位置远离屏幕?与许多Windows编辑器类似。
    我这样问是因为有时候我想把光标放在某个位置,用鼠标滚轮滚动到另一个位置,然后只需按一个arow键或其他什么东西就可以让我回到那个位置。

    6 回复  |  直到 17 年前
        1
  •  34
  •   dbr    17 年前

    不是。vim是一个控制台应用程序,所以将光标移出屏幕并没有什么意义(这是可能的,但会让人困惑)

    另一种解决方案,从 this thread from comp.editors

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

    马克似乎是另一种解决办法。。

    此外,使用标记。标记以字母命名。比如说,我记得 标记a下的当前位置。要跳转到包含标记a的行, a型。要精确定位,请使用'a'。

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

    大体上 ma ,四处移动,然后a向后跳。

    保罗提出的另一个选择,

    gi

        2
  •  17
  •   jthompson    17 年前

    你为什么不把窗户分开,看看你想看的东西,然后关上窗户?

    :split
    

    或

    :vsplit (if you want to split vertically)
    
        3
  •  12
  •   rpattabi    6 年前

    Z T Z 进来 “在不移动光标的情况下尽可能向下滚动屏幕”

    Z B “尽可能向上滚动”。

    Ctrl键 + E 如果可能,向下滚动一行

    + Y 如果可能,向上滚动一行

        4
  •  11
  •   Paul    17 年前

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

        5
  •  5
  •   Cyber Oliveira    17 年前

    同样非常有用的还有“”(2个单引号)和“`”(2个反引号)。 前者跳回上次跳转之前的行(例如,向下翻页)。 后者跳回了队伍 你在最后一次跳转之前的列。

        6
  •  3
  •   Andrew Coleson    17 年前

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