标记可以让我们进行快速跳转,例如当我们正在写代码,此时发现需要复制一段代码过程,那么我们会先退出插入模式,然后复制需要的代码,最后可以通过 `.
跳转到最后一次修改的位置,使用p
把代码粘贴过来。
设置标记
通过如下命令在光标的位置设置标记
m{a-zA-Z}
m就是mark的意思,后面跟大写字母还是小写字母,功能是不同的。
- m{a-z} 只能在文件内标记,并且只适用于文件内跳转。
- m{A-Z} 标记文件,用于在不同文件之间跳转。
跳转到标记位置
跳转到标记位置也有两种方式
`{mark}
: 光标跳转到标记的位置。'{mark}
: 光标跳转到标记位置所在行的首字母。
通常我都是使用反引号而不是单引号进行跳转,因为它跳转的位置是精准的。本文中只列出反引号的跳转命令,但是它同样适用于单引号。
自动标记
Vim中还有一些标记是自动设置的,我们可以通过这些自动标记跳转到指定位置,我们一个一个来看看。
跳转标记命令 | 说明 |
---|---|
`[ | 跳转到上一次修改的文本或者复制的文本的首字符上 |
`] | 跳转到上一次修改的文本或者复制的文本的最后一个字符上 |
这个看起来好像并没有什么卵用,Vim文档给出了一个应用例子。当使用p
命令粘贴了很多行文本,如果此时想把光标跳转到粘贴的文本的最后一行,就可以使用`]
/']
。
我们再列出几个比较有用的自动标记跳转命令
跳转标记命令 | 说明 |
---|---|
`` | 跳转到上一次跳转的位置 |
`^ | 跳转到最后一次退出插入模式的位置 |
`. | 跳转到最后一个修改的位置 |
小技巧
如果我们在写代码时,突然想去查看下当前文件中其它部分的代码,我们会退出插入模式,然后到指定位置去查看,当查看完毕,如果此时需要继续在上次的位置写代码,可以使用gi
命令,它不仅跳转到相应的位置,还自动进入插入模式。这比使用`.
和a
要方便得多。