将svn diff改成用vimdiff命令进行可视化差异显示

本文对原文稍作修改。

svn的其他命令可在我的 

各种平台常用命令和快捷键_莫能长老的博客-CSDN博客

SVN介绍、安装及常用命令总结_莫能长老的博客-CSDN博客

这两篇文章中找到。

基本原理是通过修改svn的配置文件,让svn diff命令重定向到vimdiff。
当然还需要把svn diff的参数做个处理,这个处理由一个脚本完成。

实现步骤

1、新建一个脚本diffwrap.sh:

#!/bin/sh
# 去掉前5个参数
shift 5
# 使用vimdiff比较
vimdiff "$@"

放在习惯的路径下,比如 /home/username/myshell/diffwrap.sh
给diffwrap.sh 添加可执行属性

chmod u+x /home/username/myshell/diffwrap.sh

2、编辑svn客户端的配置文件(一般都在这个路径下)

vim ~/.subversion/config

找到 #diff-cmd = 开头的那行。

复制一行新的,把新行开头的#删除,然后把 = 后面的默认内容替换为上面脚本文件的全局路径,修改后的新行例如:

diff-cmd = /home/username/myshell/diffwrap.sh

3、修改已经完成,可以直接执行 svn diff <file> 了。退出时可以直接用 :qall 来退出。

PS:

~/.subversion/config里的都是svn的部分参数,直接在命令行svn后面使用-diff-cmd来修改执行的文件的路径也是可以的,这里是对当前用户永久化更改了。

存在一点小bug,产生的文件对比,左边文件的关键词和注释的颜色会失效,仍然是白色,不知道如何修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值