技巧59-用全局位置标记在文件间快速
- 全局位置标记是一种书签,让我们可以在文件间跳转。
- m{letter} 在当前光标位置创建一个位置标记(:h m查看帮助)。
{letter}命令使光标快速回到标记所在之处(:h
查看帮助)。- 默认情况下,全局标记在2次编辑会话之间仍然会保留(这个是可以配置的:h 'viminfo'查看)。
在浏览代码前先设置一个全局标记
-
当需要浏览一些文件,然后再快速跳回到原处时,全局标记会显得特别有用。
-
eg:
-
我们正在编码,想找到代码中所有出现DLOG函数的地方,用:vimgrep(安装了ag插件可以用Ag)。
-
默认情况下,:vimgrep会直接跳到它所找到的第一处匹配上,可能会切换到另外一个文件。可以用Ctrol-o命令回到执行:vimgrep之前的位置。
-
假如已经遍历了几个查找项,想回到之前的位置,怎么做呢?多按几次Ctrl-o反向遍历。但是会比较麻烦。
-
更好的选择是:在调用vimgrep之前,先执行mM,在想回来的时候执行`M。
-
标记当前位置为M
mM
- 跳转到标记M
`M
需要养成习惯:
- 在使用与quickfix列表有关的命令前,如:grep、vimgrep、make、Ag等,先设置全局标记。
- 在执行与缓冲区列表或参数列表有关的命令前,如:args {arglist},argdo,也要设置全局标记。
- 总共可以设置26个全局位置标记,足够用了,可以毫无顾及地用。