在vim编程中,我经常去搜索一些东西,拉出它,然后回到我所在的地方,插入它,修改它。

问题是,在我搜索和找到之后,我需要手动找到回到我所在位置的路。

是否有一种自动的方法可以回到我开始搜索时的位置?


当前回答

我用的是这个:

nnoremap / ms/
nnoremap ? ms?

然后,如果我使用/或?来搜索某个东西,我可以通过'快速返回。你可以把字母s替换成任何你喜欢的字母。

其他回答

最简单的方法是设置一个标记,用m[字母],然后用'[字母]返回它。

使用''跳转到搜索/跳转之前的确切位置,或者'' '跳转到搜索/跳转之前所在行的起始位置。

我总是通过它来树立一个标杆。

在命令模式下,按m[字母]。例如,ma使用a作为标记标识符在当前行设置一个标记。 回到马克出版社的[信]。例如,'a带您回到步骤1中设置的行标记。若要返回您标记该行的行的列位置,请使用' a(反标记[letter])。

要查看当前设置的所有标记,输入:marks。


与此无关的是,我刚刚发现了关于分数的另一个妙处。

假设您通过执行mb跳转到标记b。Vim自动将标记'(这是一个单引号)设置为跳转到标记b之前您所在的行。

这意味着您可以执行'b跳转到该标记,然后执行"(2个单引号)跳转回之前的位置。

我在使用:marks命令时偶然发现了这一点,该命令显示了所有标记的列表。

你真的应该阅读:帮助跳转它解释得很好。

Ctrl+O带我到以前的位置。在搜索之前不知道地点。

编辑:还有。会带你找到你最后做的改动。