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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论 1

打赏作者

凝霜

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值