在vim编程中,我经常去搜索一些东西,拉出它,然后回到我所在的地方,插入它,修改它。
问题是,在我搜索和找到之后,我需要手动找到回到我所在位置的路。
是否有一种自动的方法可以回到我开始搜索时的位置?
我总是通过它来树立一个标杆。
在命令模式下,按m[letter]。例如,ma使用a作为标记标识符在当前行设置一个标记。
要返回标记,按' [letter]。例如,'a带您回到步骤1中设置的线标记。要回到标记该行的行的列位置,使用 ' a (反勾[字母])。
要查看当前设置的所有标记,请键入:marks。
:marks
与此无关的是,我刚刚发现了关于分数的另一个妙处。
假设你通过执行米b跳转到标记b。Vim自动将标记'(这是一个单引号)设置为跳转到标记b之前您所在的行。
这意味着你可以执行'b来跳转到那个标记,然后执行”(2个单引号)来跳转回之前的位置。
我意外地使用:marks命令发现了这一点,该命令显示了所有标记的列表。
最简单的方法是用m[letter]设置一个标记,然后用'[letter]返回到它
m[letter]
'[letter]
Ctrl+O带我到之前的位置。在搜索之前不知道地点。
编辑:此外,`.将带您到您所做的最后一次更改。
使用``跳转到搜索/跳转之前的确切位置,或者使用''跳转到搜索/跳转之前所在行的起始位置。
``
''
你真的应该读:help jumplist,它很好地解释了这一切。
:help jumplist
我用的是这个:
nnoremap / ms/ nnoremap ? ms?
然后,如果我使用/或?搜索某个东西,我可以通过`s快速返回。你可以将字母s替换为任何你喜欢的字母。
/
?
`s
s
CTRL + O和CTRL +我,用于前后跳跃。