技巧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个全局位置标记,足够用了,可以毫无顾及地用。