学习 Vim 之 vim-signature 插件
Posted on 2015-05-06 10:37 in Tools
在追踪代码时,经常跳转到很多新文件中,想回到原点时就比较麻烦了,这时候就需要 “ 书签 ” 了。
Bookmarks
用 :help marks 来查看关于书签的说明:
书签可以分为 3 类:
- 
lowercase marks 书签名只能为 'a - 'z,只在所在文件内有效,不能在文件之间跳转,不同书签名不能包含有相同字符 
- 
uppercase marks 书签名只能为 'A - 'Z,也叫文件书签,可以在文件之间跳转,不同书签名不能包含有相同字符 
- 
numbered marks 书签名只能为 '0 - '9,用 .viminfo文件来设置
使用字母 a-zA-Z 建立的书签能被保存下来,再次打开时仍然存在,而用数字 0-9 建立的书签在关闭文件后就被删除了,不能恢复,所以 一般使用 a-zA-Z 更多一点吧。
知道这些最基本的东西就可以顺利使用书签了。
Usage
常用的几个 Vim 内置的书签命令如下:
- 
设置书签 m{a-zA-Z},如 ma
- 
删除书签 :delm {marks},如 :delm a
- 
跳转书签 跳转有两种方式: - 
使用 backtick 键(数字 1 键左边),跳转到设置书签时光标所在的行和列,如 `a 
- 
使用单引号 ',跳转到书签所在行的第一个非空字符处(不包含列信息),如 'a
- 
`` 回到到上次修改的位置
 
- 
- 
列出所有书签 :marks
Vim-signature
使用 Vim 书签时,最大的不方便之处是:书签是不可见的,也就是说我们输入命令之后,是无法看到书签是否建立成功了,外观上是看不出书签行和普通行的区别的。还好有个很不错的插件 vim-signature 可以帮助我们实现可视化的书签。
在 github 项目上有这个插件的简单介绍,另外在 Vim 中也可以看 help 文档查阅详细帮助,这里只记录我用到简单配置。
Install
使用这个插件需要 vim 支持 sign 特性,使用命令 :echo has('signs') 来查看 vim 是否支持这个特性,如果结果是 1,则支持,如果结果是 0,需要重新编译 vim。
使用 Vundle 安装:
| 1 |  | 
Usage
使用 :help signature 可以查看帮助文档。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |  | 
而且 help 中列出了具体配置,我们可以对其修改,自定义快捷键。总结一下我常用的操作:
- 
设置书签 mx,比如 ma
- 
删除书签 - 
直接在目标行重新输入 mx,旧书签就会被删除,并且设定到光标所在行
- 
将光标移动到旧书签行,重新输入 mx
- 
删除所有 lowercase + uppercase marks, m<Space>
- 
删除所有 numbered marks, m<BS>
 
- 
- 
跳转书签 - 
]`,跳转到前一个书签
- 
[`,跳转到后一个书签
- 
]-,跳转到之前同一类型的 numbered marks 书签行
- 
[-,跳转到之后同一类型的 numbered marks 书签行
 
-