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

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

有没有一种方法可以自动返回到我上次搜索时所在的位置?

有帮助吗?

解决方案

控制键+ 带我到之前的位置。搜索之前不知道位置。

编辑:还, `. 将带您到您所做的最后更改。

其他提示

使用 `` 跳回您搜索/跳跃之前所在的确切位置,或者 '' 跳回到搜索/跳转之前所在行的开头。

我一直通过它来设定一个标记。

  1. 在命令模式下,按 米[字母]. 。例如, 使用以下命令在当前行设置一个标记 A 作为标记标识符。

  2. 要返回标记,请按 ' [信]. 。例如, ' A 带您返回步骤 1 中设置的标记。

要查看当前设置的所有标记,请键入 :分数.


顺便说一句,我刚刚发现了关于标记的另一个有趣的事情。

假设你通过执行以下操作跳转到标记 b 'b. 。Vim 自动设置标记 ' (这是一个单引号)是跳到标记 b 之前所在的任何一行。

这意味着你可以做 'b 跳到那个标记,然后做 '' (2 个单引号)跳回到之前的位置。

我无意中发现了这一点 :分数 命令,显示所有标记的列表。

你真的应该阅读 :help jumplist 它很好地解释了这一切。

CTRL+OCTRL+I, ,用于前后跳跃。

最简单的方法是设置一个标记, m[letter], ,然后返回到它 '[letter]

我用这个:

nnoremap / ms/
nnoremap ? ms?

然后,如果我使用以下命令搜索某些内容 / 或者 ?, ,我可以通过以下方式快速返回 `s. 。你可以替换这封信 s 写给任何你喜欢的字母。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top