如何配置vimdiff作为svn diff的查看代码的工具
LINUX下面的svn diff直接查看的话很吃力,也很不方便。所以网上找到如下解决方案,能方便的使用vimdiff来查看svn diff的代码查看工具,相当方便。配置方法为:1、编写脚本diffwrap.sh:#!/bin/sh#过滤掉svn diff的前五个命令行参数shift 5#使用vimdiff比较文件vimdiff "$@"2、在svn的配置文件
·
LINUX下面的svn diff直接查看的话很吃力,也很不方便。所以网上找到如下解决方案,能方便的使用vimdiff来查看svn diff的代码查看工具,相当方便。
配置方法为:
1、编写脚本diffwrap.sh:
#!/bin/sh #过滤掉svn diff的前五个命令行参数 shift 5 #使用vimdiff比较文件 vimdiff "$@"
2、在svn的配置文件,一般为~/.subversion/config文件,找到配置行diff-cmd,修改为如下:
diff-cmd=/usr/local/bin/diffwrap.sh
其中,后者为你放置diffwrap.sh脚本的绝对路径.这样使用svn diff就可以像windows下的svn客户端的diff那样查看文件差异了。
上面的实现原理见svn diff的官方说明:
当使用一个外部的diff命令时,Subversion会生成一个非常复杂的命令行。第一个参数就是具体的--diff-cmd,然后就是具体的 --extensions (尽管使用空白 的--符号时会忽略扩展),或者如果没有指定--extensions或者--extensions为空的话,就加上‘-u’参数。第三和第四个参 数,Subversion会传递一个“-L” 还有第一个文件的标签(例如,“"project_issues.html (revision 11209)”)。第五个和第六个就是另一个“-L”和第二个文件的标签。第七和第八个参数分 别是第一个和第二个文件的名称(例 如,“.svn/text-base/project_issues.html.svn-base”和“.svn/tmp /project_issues.html.tmp”)。
余下的使用vimdiff的相关操作键即可,vimdiff的常用操作如下:
1、"]"+"c" 组合键表示显示下一个不同的地方;
2、“[”+"c"组合键表示跳转到之前的不同的地方;
3、“:”+“diffupdate”可以在编辑后刷新新的文件,展示修改后的不同的迪昂;
4、"<ESC>"+"u"表示撤销修改;
更多推荐
已为社区贡献2条内容
所有评论(0)