如何巧用vimdiff来替代原始的svn diff和git diff(效率提升)

有许多命令行选手在linux下开发的时候会经常遇到一个问题,无论是svn还是git,提供的原始diff功能太难以阅读,我们希望的是能够命令行下也能展示side by side的对比模式,而不是inline的方式,这里我们提供了一个小技巧来解决眼睛疼的问题。

1.Vimdiff替代svn diff

1)编写脚本

执行vim diffwrap.sh,添加如下内容(输入:i,然后右键复制原文,粘接内容到终端):

#!/bin/sh

#过滤掉svn diff的前五个命令行参数

shift 5

#使用vimdiff比较文件

vimdiff "$@"

2)修改~/.subversion/config,找到如下配置行:

# diff-cmd = diff_program (diff, gdiff, etc.)

修改成:

diff-cmd = /usr/local/bin/diffwrap.sh

这里你需要替换成你的地址,一般建议把diffwrap.sh拷贝到/usr/local/bin/下面。

2.Vimdiff替代git diff

默认的git diff是这样的,如下图:

1)在命令行执行如下命令,让git diff使用vimdiff的效果

git config --global diff.tool vimdiff

git config --global difftool.prompt false

git config --global alias.d difftool

2)使用方式

执行git d README.txt查看单文件

执行git d查看所有diff,看完使用:qa退出当前diff查看,会自动跳转到下一个。

总结

到此这篇关于如何巧用vimdiff来替代原始的svn diff和git diff(效率提升)的文章就介绍到这了,更多相关vimdiff替代svn diff和git diff内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-07-30

用python标准库difflib比较两份文件的异同详解

[需求背景] 有时候我们要对比两份配置文件是不是一样,或者比较两个文本是否异样,可以使用linux命令行工具diff a_file b_file,但是输出的结果读起来不是很友好.这时候使用python的标准库difflib就能满足我们的需求. 下面这个脚本使用了difflib和argparse,argparse用于解析我们给此脚本传入的两个参数(即两份待比较的文件),由difflib执行比较,比较的结果放到了一个html里面,只要找个浏览器打开此html文件,就能直观地看到比较结果,两份文件有差

Python 比较文本相似性的方法(difflib,Levenshtein)

最近工作需要用到序列匹配,检测相似性,不过有点复杂的是输入长度是不固定的,举例为: input_and_output = [1, 2, '你好', 世界', 12.34, 45.6, -21, '中国', '美丽'] 其中,需要从input_and_output 中选取不固定长度的一段作为输入,且顺序不定,然后去与总体进行比较,找出最符合的,开始是对汉字进行数值化编码,不过后来由于出现汉字越来越多,遂放弃该方法,转向别的方式,查找资料发现了两个python包广被推荐,从下面来看各有优缺点,记录之

vue的diff算法知识点总结

源码:https://github.com/vuejs/vue/blob/dev/src/core/vdom/patch.js 虚拟dom diff算法首先要明确一个概念就是diff的对象是虚拟dom,更新真实dom则是diff算法的结果 Vnode基类 constructor ( ... ) { this.tag = tag this.data = data this.children = children this.text = text this.elm = elm this.ns = u

浅谈pandas中shift和diff函数关系

通过?pandas.DataFrame.shift命令查看帮助文档 Signature: pandas.DataFrame.shift(self, periods=1, freq=None, axis=0) Docstring: Shift index by desired number of periods with an optional time freq 该函数主要的功能就是使数据框中的数据移动,若freq=None时,根据axis的设置,行索引数据保持不变,列索引数据可以在行上上下移动

浅谈pandas中DataFrame关于显示值省略的解决方法

python的pandas库是一个非常好的工具,里面的DataFrame更是常用且好用,最近是越用越觉得设计的漂亮,pandas的很多细节设计的都非常好,有待使用过程中发掘. 好了,发完感慨,说一下最近DataFrame遇到的一个细节: 在使用DataFrame中有时候会遇到表格中的value显示不完全,像下面这样: In: import pandas as pd longString = u'''真正的科学家应当是个幻想家:谁不是幻想家,谁就只能把自己称为实践家.人生的磨难是很多的, 所以我们

浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆.下面举例对这些切片方法进行说明. 数据介绍 先随机生成一组数据: In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)] ...: rnd_3 = [random.randrange(1,20) for x in xrange(1

浅谈Pandas中map, applymap and apply的区别

1.apply() 当想让方程作用在一维的向量上时,可以使用apply来完成,如下所示 In [116]: frame = DataFrame(np.random.randn(4, 3), columns=list('bde'), index=['Utah', 'Ohio', 'Texas', 'Oregon']) In [117]: frame Out[117]: b d e Utah -0.029638 1.081563 1.280300 Ohio 0.647747 0.831136 -1.

浅谈Pandas Series 和 Numpy array中的相同点

相同点: 可以利用中括号获取元素 s[0] 可以的得到单个元素 或 一个元素切片 s[3,7] 可以遍历 for x in s 可以调用同样的函数获取最大最小值 s.mean()  s.max() 可以用向量运算 <1 + s> 和Numpy一样, Pandas Series 也是用C语言, 因此它比Python列表的运算更快 以上这篇浅谈Pandas Series 和 Numpy array中的相同点就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

浅谈pandas筛选出表中满足另一个表所有条件的数据方法

今天记录一下pandas筛选出一个表中满足另一个表中所有条件的数据.例如: list1 结构:名字,ID,颜色,数量,类型. list1 = [['a',1,255,100,'03'],['a',2,481,50,'06'],['a',47,255,500,'03'],['b',3,1,50,'11']] list2结构:名字,类型,颜色. list2 = [['a','03',255],['a','06',481]] 如何在list1中找出所有与list2中匹配的元素?要得到下面的结果:lis

浅谈JavaScript中数组的增删改查

数组的增加 •ary.push()   向数组末尾添加元素,返回的是添加后新数组的长度,原有数组改变 •ary.unshift()  向数组开头添加元素,返回的是添加后新数组的长度,原有数组改变 • var ary=[1,2,3,4];   var res=ary.unshift(6);   console.log(res); ---->5 返回的是新数组的长度•ary.splice(n,m,x)从索引n开始删除m个元素,把新增的元素X放在索引n的前面,把删除的元素当成一个新数组返回,原有数组改

浅谈JavaScript中的对象及Promise对象的实现

JavaScript 中的所有事物都是对象:字符串.数值.数组.函数.下面小编给大家收集整理些javascript中的对象及promise对象的实现.具体内容如下: 到处都是对象 window对象 常用的属性和方法介绍 location 包含页面的URL,如果改变这个属性,浏览器会访问新的URL status 包含将在浏览器状态去显示的一个串.一般在浏览器左下角 onload: 包含了需要在页面完全加载后调用的函数 document: 包含DOM alert方法: 显示一个提醒 prompt方法

浅谈pandas用groupby后对层级索引levels的处理方法

层及索引levels,刚开始学习pandas的时候没有太多的操作关于groupby,仅仅是简单的count.sum.size等等,没有更深入的利用groupby后的数据进行处理.近来数据处理的时候有遇到这类问题花了一点时间,所以这里记录以及复习一下:(以下皆是个人实践后的理解) 我使用一个实例来讲解下面的问题:一张数据表中有三列(动物物种.物种品种.品种价格),选出每个物种从大到小品种的前两种,最后只需要品种和价格这两列. 以上这张表是我们后面需要处理的数据表 (物种 品种 价格) levels

浅谈pandas.cut与pandas.qcut的使用方法及区别

pandas.cut: pandas.cut(x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False) 参数: 1. x,类array对象,且必须为一维,待切割的原形式 2. bins, 整数.序列尺度.或间隔索引.如果bins是一个整数,它定义了x宽度范围内的等宽面元数量,但是在这种情况下,x的范围在每个边上被延长1%,以保证包括x的最小值或最大值.如果bin是序列,它定义了允许非均匀