Vim在滚动时保持光标位置

Aym*_*man 48 vim

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

dbr*_*dbr 33

不.vim是一个控制台应用程序,因此将屏幕上的cursour放在屏幕上是没有意义的(这是可能的,但只会令人困惑)

另一种解决方案,用来解释来自comp.editors的这个帖子的帖子:

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

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

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

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

基本上ma,四处走动,然后"a"跳回来.

保罗建议的另一种选择,

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

  • "vim是一个控制台应用程序" - 是的gVim/MacVim是GUI应用程序,但它们是控制台vim的端口/扩展,并且不能真正改变太多 (4认同)

jth*_*son 17

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

:split
Run Code Online (Sandbox Code Playgroud)

要么

:vsplit (if you want to split vertically)
Run Code Online (Sandbox Code Playgroud)

  • 我实际上更习惯使用Ctrl + W,S和Ctrl + W,V而不是命令...... (5认同)
  • ...可以缩写为:sp和:vs (2认同)

Pau*_*aul 11

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


use*_*557 10

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

zt "在不移动光标的情况下尽可能向下滚动屏幕"

zb "尽可能向上滚动".

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

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

  • 虽然这个答案与问题正文不匹配,但它与问题标题完全匹配,这正是我所需要的。谢谢。我想补充一点:“z-Enter”与“zt”相同 (2认同)

Cyb*_*ira 5

同样非常有用的是 ''(2 个单引号)和 ``(2 个反引号)。前者跳回到上次跳转之前的行(例如,向下翻页)。后者跳回到上次跳转之前所在的行列。