在vim中,如何返回搜索之前的状态?
时间:2020-03-05 18:50:41 来源:igfitidea点击:
在vim中编程我经常去寻找东西,将其拉出,然后回到原处,插入并修改它。
问题是,在搜寻之后,我需要手动找到回到原处的方式。
有没有一种自动的方法可以返回到我上一次搜索时的状态?
解决方案
回答
我总是通过设置标记来完成的。
- 在命令模式下,按m [字母]。例如,m a使用a作为标记标识符在当前行设置标记。
- 要返回标记,请按'[字母]。例如," a"可将我们带回到步骤1中设置的标记。
要查看当前设置的所有标记,请输入:marks。
在一点不相关的注解上,我发现了关于商标的另一种奇妙的东西。
假设我们通过执行'b跳到标记b。 Vim会自动将标记'(即单引号)设置为我们所在的那一行,然后再跳转到标记b。
这意味着我们可以执行'b跳至该标记,然后执行''(2个单引号)跳回到以前的状态。
我偶然发现了:marks命令,它显示了所有标记的列表。
回答
最简单的方法是使用m [letter]设置标记,然后使用'[letter]
返回标记。
回答
Ctrl + O带我到上一个位置。搜索之前不知道位置。
编辑:另外,``.`将带我们到我们所做的最后更改。
回答
使用''跳回到搜索/跳转之前的确切位置,或者使用
''`跳回到搜索/跳转之前所在行的开头。
回答
我们确实应该阅读:help jumplist
,它很好地解释了所有这些。