Vim在滚动时保持光标位置
在滚动的时候,有没有办法在Vim / gVim中保持错误的位置? 类似于许多Windows编辑器。
我知道标记,并使用它们。 我也知道''。 标记(最后编辑位置),但寻找其他的想法。 我这样问,因为有时候我想把光标保持在某个位置,用鼠标滚轮滚动到另一个地方,然后按一个arow键或者某个东西让我回到那个位置。
不,vim是一个控制台应用程序,所以将光标置于屏幕外面是没有意义的(这可能会导致混淆)
另一种解决scheme, 从comp.editors的这个线程复述post:
Ctrl+o
转到上一个光标位置, Ctrl+i
转到下一个(如撤消/重做动作)
标记似乎是另一种解决scheme..
另外,使用标记。 商标以字母命名。 例如打字ma记住标记a下的当前位置。 要跳转到包含标记a的行,请键入'a。 到确切的位置使用`a。
小写字母标记是每个文件。 大写字母标记是全球性的; `A将切换到包含标记A的文件到准确的位置。
基本上ma
,四处移动,然后`a跳回来。
保罗build议的另一个select,
gi
命令将Vim切换到插入模式,并将光标置于上次插入模式停止的位置。
你为什么不拆开窗户,看看你想看什么,然后closures拆分?
:split
要么
:vsplit (if you want to split vertically)
有时候可以避免在input文本之前跳转到标记 – gi
命令将Vim切换到插入模式,并将光标置于上次停止插入模式的位置。
我在Vim中发现的唯一类似的行为:
z t “尽可能向下滚动屏幕而不移动光标”
z b “尽量滚动”。
如果可能, Ctrl + E “向下滚动一行”
如果可能, Ctrl + Y “向上滚动一行”
谷歌说,游标(因此当前行)必须在Vi中可见,所以你必须使用标记。
''(2个单引号)和''(2个后引号)也非常有用。 前者跳回到上一次跳转之前的行(例如,下一页)。 后者跳回到最后一跳之前的行和列。