VIM-如何将当前位置放入跳转列表?

VIM-如何将当前位置放入跳转列表?,vim,shortcuts,Vim,Shortcuts,我想知道vim有什么改进,我可以跳回到上次停下来走动3秒钟的地方。然后,我可以滚动,并有一个踢快捷方式跳回到我与旧的CTRL+o相同的地方 Vim在:跳跃列表中放了很多动作,我想知道其中的一半在任何时候对我来说都是无用的,所以我怎么能做到呢 换言之,我正试图使跳转列表更合理 注:Netbeans和VS有类似的行为。通常使用m和命令进行跳转。例如,您可以键入mx,离开并做一些事情,然后执行'x跳回执行mx时的位置。这适用于字母表中的每个字母(即ma,mb,…mz)。大写标记(mA,mB,…)也会记

我想知道vim有什么改进,我可以跳回到上次停下来走动3秒钟的地方。然后,我可以滚动,并有一个踢快捷方式跳回到我与旧的CTRL+o相同的地方

Vim在:跳跃列表中放了很多动作,我想知道其中的一半在任何时候对我来说都是无用的,所以我怎么能做到呢

换言之,我正试图使跳转列表更合理


注:Netbeans和VS有类似的行为。

通常使用
m
命令进行跳转。例如,您可以键入
mx
,离开并做一些事情,然后执行
'x
跳回执行
mx
时的位置。这适用于字母表中的每个字母(即
ma
mb
,…
mz
)。大写标记(
mA
mB
,…)也会记住文件名,因此您可以在文件之间跳转。您可以为各种目的设置多个选项

“上一个上下文标记”称为
。它是在您跳转时自动设置的,也可以使用
m'
手动设置。使用
''
跳转到它。
m'
命令还可以手动将跳转添加到跳转列表中<代码>'
大致相当于Ctrl+O,但不进行计数


如果将这些命令中的撇号替换为反勾号,Vim将跳转到特定的列,而不仅仅是行。实际上,撇号更容易键入,并且通常足够接近。

要将当前位置自动添加到跳转列表中,可以使用
光标保持事件:

:autocmd CursorHold * normal! m'

导航是默认的
/

您可以在
'
寄存器中设置一个标记。按键将是
m'

我在vim的文档
:help jumplist
中找到了这一点

您可以通过设置“用“m”标记”来显式添加跳转


我知道标记,但在分析日志时这还不够,滚动太多。标准跳转在这种情况下也没有用,因为我需要不止一个自动存储的跳转。@MaikoID:为什么不在需要时手动设置字母标记呢?因为我需要在开始滚动之前设置它们,我不记得要这样做。我用标记来记住重要的事情,我认为用它来帮助滚动是错误的,但这是我的观点。你有26个标记(52个文件标记)。你可以也应该用它们来做任何你想做的事。它会附加或只是替换最后一个?它们会被附加;你不能替换那些。