vim标记,想跳哪里跳哪里
If the implementation is hard to explain, it's a bad idea. - Zen of Python
hi, 大家好,这次介绍一下 vim 的书签功能,在我们编写或者浏览代码的时候, 经常会使用到一些跳转功能,比如跳转到定义,跳转到上一个位置等。 vim 提供了一些通用的快捷键用来实现跳转,这里稍微列举几个常用的。
- % 可以在括号匹配之间跳转,在找成对括号的时候比较有用
- ctrl+] 跳转到定义(也有插件使用gd, goto definition),一般需要 tags 或者相关的编程语言插件支持。
- ctrl+o 跳转到上一个跳转位置,比如上边我们用 ctrl+] 跳转到代码定义之后,使用这 ctrl+o 跳转回来
- ctrl+i 前进到下一个跳转位置,配合 ctrl+o 可以在跳转位置之间前后移动
- gf: gofo file, 如果你在 vim 里有文件路径,不管是相对还是绝对路径,可以跳转到该文件
有时候我们还希望可以随便在 vim 里设置一些标签,有点类似于我们翻书的时候塞一个书签, 当我们回头看一个知识点的时候就会比较方便了,可以快速回到之前的位置。
vim 标记(mark)就是实现了类似书签功能,我们可以标记一个位置,然后随时跳回来, 比如浏览一个比较复杂的代码项目的时候,虽然可以同时打开了多个文件(前提你的屏幕够大),但是有时候我们想要快速标记一个位置,待会重新浏览, 就可以使用标记功能。 使用的方式也比较简单:
- m{char} char可以是a-zA-Z。大小写的区别是小写字母标记的只在每个缓冲区局部可见,大写字母全局可见
- `{char} 跳转回标记位置
是不是很简单呢,不过有个缺点就是我们的标记并不会在 vim 里显示出来,不好看到,可以使用 MattesGroeger/vim-bookmarks 插件增强。 这样我们打的标记就可以在vim 的左边栏看到了,同时还支持对所有标记的浏览和管理。
视频里我们针对标记功能和 vim-bookmarkds 插件进行演示,感兴趣的可以尝试下,希望对你有帮助。