在 vim 中编程 我经常去搜索一些东西,拉它,然后回到我原来的位置,插入它,修改它。
问题是,在我搜索并找到之后,我需要手动找到回到我所在位置的路。
是否有一种自动方式可以返回到我上次搜索时的位置?
Ctrl+O 将我带到上一个位置。在搜索之前不知道位置。
编辑:另外,`。将带您到您所做的最后一次更改。
使用 ``
跳回到您搜索/跳跃之前所在的确切位置,或使用 ''
跳回到您搜索/跳跃之前所在行的开头。
n
-ing 到后续比赛意味着您不会跳回开始的位置。
g;
和 g,
,它转到上一个/下一个更改的位置。
我总是通过设置标记来完成。
在命令模式下,按 m[字母]。例如,ma 使用 a 作为标记标识符在当前行设置标记。要返回标记,请按“[字母]。例如,'a 带您回到步骤 1 中设置的行标记。要返回标记行的行的列位置,请使用 `a(反引号 [字母])。
要查看当前设置的所有标记,请输入 :marks
。
在一个稍微不相关的注释上,我刚刚发现了另一个关于标记的好东西。
假设您通过执行 mb 跳转到标记 b。 Vim 自动将标记 ' (这是一个单引号)设置为你在跳转到标记 b 之前所在的那一行。
这意味着您可以执行 'b 跳转到该标记,然后执行 ''(2 个单引号)跳转回您之前所在的位置。
我无意中使用 :marks
命令发现了这一点,该命令显示了所有标记的列表。
您真的应该阅读:help jumplist
,它很好地解释了所有这些。
CTRL+O 和 CTRL+I,用于前后跳跃。
我用这个:
nnoremap / ms/
nnoremap ? ms?
然后,如果我使用 /
或 ?
搜索某些内容,我可以通过 `s
快速返回。您可以将字母 s
替换为您喜欢的任何字母。
m
被定义为标记以外的东西,在 NerdTree 的情况下它是菜单。
最简单的方法是用 m[letter]
设置一个标记,然后用 '[letter]
回到它
不定期副业成功案例分享
:70
然后:100
,按ctrl+o
一次会回到原来的位置,not 第 70 行。:(