使用git的时候常常要用到文件比较工具,图形界面下可选的文件比较工具非常多,但是在终端下好用的就寥寥无几了。

Vim作为一款强大的文本编辑器,自带有文件比较功能。可惜Vim的文件比较功能只能用来查看文件的差异,不能对比目录。不过好在Vim有海量的扩展,有一款扩展可以弥补这个缺憾,就是DirDiff

下面介绍如何在git中使用Vim的DiffDir插件。

首先我们在~/.gitconfig里面自定义一个difftool叫vimdiffdir:

我们就可以在git的difftool命令中调用vimdiffdir:

方便起见,我们可以为vimdiffdir起一个同名的别名:

来简化了vimdiffdir的使用:

git有一个show命令来显示某个commit的改动,有了vimdiffdir,我们也可以自定义一个vimshow命令来在Vim中查看commit的改动,这需要在~/.gitconfig中加入:

然后就可以:

大功告成!

参考:git-vimdiff-and-dirdiff