Hacking Vim: bookmarks(06)

摘要

本文介绍一个可视化的书签插件 —— vim-bookmarks, 支持高亮、跨文件、书签持久化、预览所有书签、书签注解等功能.

简介

vim-bookmarks 插件旨在解决 Vim 自带书签无法高亮、无法持久化、难于记忆的问题,而且解决的非常漂亮. 下面列出其主要特性:

  • 单行书签切换
  • 单行的注释(说明)书签
  • quickfix 窗口中访问所有书签
  • 书签自动保存,下次开启自动加载
  • 针对工作目录的独立书签(可选)
  • 高度可定制
  • 可以和 Unite 插件的 quickfix 结合
  • 不依赖 Vim 自身的 marks

先睹为快

下面是官网的演示,这里盗个图 XD

预览

安装

Note: 请确保已经正确安装了 Pathogen 插件,如果没有安装,请参考 Hacking Vim: 插件管理器Pathogen(02)

本篇文章的代码在 https://github.com/NsLib/blog-vim-proj/tree/bookmarks

cd ~/.vim/bundle
git clone git@github.com:MattesGroeger/vim-bookmarks.git --depth=1
rm -rf ~/.vim/bundle/vim-bookmarks/.git

配置

~/.vimrc 中添加如下配置:

" vim-bookmarks
let g:bookmark_highlight_lines  = 1 " 高亮显示书签行

配置颜色(根据自己的喜好,替换掉 whatever)

highlight BookmarkSign ctermbg=whatever ctermfg=whatever
highlight BookmarkAnnotationSign ctermbg=whatever ctermfg=whatever
highlight BookmarkLine ctermbg=whatever ctermfg=whatever
highlight BookmarkAnnotationLine ctermbg=whatever ctermfg=whatever

更多配置(基本上不会更改):

选项默认值描述
let g:bookmark_sign = '>>'书签符号
let g:bookmark_annotation_sign = '##'注释(说明)书签符号
let g:bookmark_save_per_working_dir = 10是否针对工作目录保存书签
let g:bookmark_auto_save = 01是否自动保存书签
let g:bookmark_auto_save_file = '/bookmarks'$HOME .’/.vim-bookmarks’存储书签的文件(bookmark_save_per_working_dir开启后此配置将被忽略)
let g:bookmark_auto_close = 10quickfix 窗口选中书签后,是否自动关闭 quickfix 窗口
let g:bookmark_highlight_lines = 10是否高亮书签行
let g:bookmark_show_warning = 01删除所有书签时,是否显示警告信息
let g:bookmark_center = 10是否跳转后的书签行居中
let g:bookmark_no_default_key_mappings = 10是否使用默认的快捷键

基本用法

功能快捷键命令
添加/删除书签(当前行)mm:BookmarkToggle
添加/编辑/删除当前行注释书签mi:BookmarkAnnotate <TEXT>
跳转到当前 buffer 的下一个书签mn:BookmarkNext
跳转到当前 buffer 的前一个书签mp:BookmarkPrev
quickfix 窗口中列出所有书签(toggle)ma:BookmarkShowAll
清除当前 buffer 内的所有书签mc:BookmarkClear
清除所有 buffer 内的书签mx:BookmarkClearAll
保存书签到文件:BookmarkSave <FILE_PATH>
从文件加载书签:BookmarkLoad <FILE_PATH>

下面是一个简单的演示:

我的演示

结语

这里简单说下我的应用场景,剩下的同学们就发挥自己的想象力吧 XD

  • 最基本的书签功能,写代码的时候可能要在几个点相互跳转
  • 读源码的时候,ctags + cscope 有时候回调比较麻烦,这时候书签就派上用场了
  • 做代码 review 的时候,可以预先把审查点标记出来
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值