题
在 vim 中编程我经常去搜索一些东西,拉出它,然后返回到我所在的位置,插入它,修改它。
问题是,在我搜索并找到之后,我需要手动找到回到原来位置的路。
有没有一种方法可以自动返回到我上次搜索时所在的位置?
解决方案
控制键+氧 带我到之前的位置。搜索之前不知道位置。
编辑:还, `. 将带您到您所做的最后更改。
其他提示
使用 ``
跳回您搜索/跳跃之前所在的确切位置,或者 ''
跳回到搜索/跳转之前所在行的开头。
我一直通过它来设定一个标记。
在命令模式下,按 米[字母]. 。例如, 嘛 使用以下命令在当前行设置一个标记 A 作为标记标识符。
要返回标记,请按 ' [信]. 。例如, ' A 带您返回步骤 1 中设置的标记。
要查看当前设置的所有标记,请键入 :分数.
顺便说一句,我刚刚发现了关于标记的另一个有趣的事情。
假设你通过执行以下操作跳转到标记 b 'b. 。Vim 自动设置标记 ' (这是一个单引号)是跳到标记 b 之前所在的任何一行。
这意味着你可以做 'b 跳到那个标记,然后做 '' (2 个单引号)跳回到之前的位置。
我无意中发现了这一点 :分数 命令,显示所有标记的列表。
你真的应该阅读 :help jumplist
它很好地解释了这一切。
CTRL+O 和 CTRL+I, ,用于前后跳跃。
最简单的方法是设置一个标记, m[letter]
, ,然后返回到它 '[letter]
我用这个:
nnoremap / ms/
nnoremap ? ms?
然后,如果我使用以下命令搜索某些内容 /
或者 ?
, ,我可以通过以下方式快速返回 `s
. 。你可以替换这封信 s
写给任何你喜欢的字母。
不隶属于 StackOverflow