vim-gitgutter ——【一天一个 vim 插件】
在此截图你可以看见:
- 183-184 行是新建的;
- 186-187 行有所变动;
- 在底部的预览区中显示改动情况(
hp)。
在 vim 标志栏(sign column,行号左边的一列,通常为隐藏状态)中显示 git diff(git 差异)
这个系列主要以记住各类有用的 vim 插件的功能与使用方法为目的。
安装配置
安装插件的方法,一般分为常规安装与插件管理器安装。常规安装将插件整个放入目录:
1 | ~/.vim/pack/vendor/start |
而插件管理器安装有相似的语法,却各不相同。插件管理器安装有一定的性能亏损,但是如果有大量插件存在的情况下,没有插件管理器,将难以管理。
系列目前选择 junegunn/vim-plug 插件管理器作为插件的安装方式。全程使用xterm-256color
,没有使用gui
。
在 .vimrc
中写入并保存:
1 | if empty(glob('~/.vim/autoload/plug.vim')) |
重新用 Vim 打开一个文件,执行命令::PlugInstall
,好了 vim-plug
插件管理器 和 vim-gitgutter
插件都安装好了。
标志栏背景颜色显示很丑的话,我的默认显示灰色,添加如下设置以改善:
1 | highlight SignColumn ctermbg=NONE |
当修改文件后,标志栏会自动刷新,而刷新的延迟决定于vim的updatetime,默认的是4000ms,建议修改如下:
1 | updatetime=100 |
使用方法
通过 [c
和 ]c
在有所变动的区块间跳转。
以上是默认的映射,可以自行修改如下:
1 | nmap ]h <Plug>(GitGutterNextHunk) |
You can explicitly turn vim-gitgutter off and on (defaults to on):
如果在某个git项目下,不想看见这个标志栏的提示,可以使用下面的命令:
1 | :GitGutterDisable |
绑定快捷键,例如:
1 | nmap <leader>hd :GitGutterDisable<CR> |