我想svn diff
通过寻呼机显示有色差(就像git一样)。我已经成功地通过设置来获得彩色差异的diff-cmd
在~/.subversion/config
:如何在svn diff中获得寻呼机?
diff-cmd = colordiff
现在我想通过管寻呼机的diff的输出,我该怎么做呢? (写svn diff | less
,当然短。)
我想svn diff
通过寻呼机显示有色差(就像git一样)。我已经成功地通过设置来获得彩色差异的diff-cmd
在~/.subversion/config
:如何在svn diff中获得寻呼机?
diff-cmd = colordiff
现在我想通过管寻呼机的diff的输出,我该怎么做呢? (写svn diff | less
,当然短。)
在过去,我已经使用了包装脚本,并设置diff-cmd
这个脚本:
#!/bin/sh
colordiff "[email protected]" | less -r
但你得到一个单独的寻呼机每一个文件,我我不确定这是你想要的。现在我只写svn diff | less
。
另一个简单的解决方法是制作一个别名:alias svndiff='svn diff | less'
。或者,如果你想使用svn diff
,让一个shell函数:
svn() {
if [ x"$1" = xdiff ] || [ x"$1" = xdi ]; then
/usr/bin/svn "[email protected]" | less -r
else
/usr/bin/svn "[email protected]"
fi
}
我通常运行svn diff | vim -
。
原始答案使用'vimdiff',但这不是'vim'更有用的,并在屏幕左侧显示一个烦人的折叠条。 – 2015-05-24 15:33:29
@AlastairIrvine该问题特别要求彩色差异传呼机。 Vim standalone不这样做。 Vimdiff展示了非常有用的并排差异。 – 2015-05-25 12:56:04
就像我说的,Vimdiff在这种情况下并没有做任何特别的事情。对于Vimdiff来说,它需要两个文件。 – 2015-05-25 14:04:35
添加
function sdi()
{
if tty -s; then
exec svn diff --diff-cmd=colordiff "[email protected]" | less -R
else
exec svn diff --diff-cmd=colordiff "[email protected]"
fi
}
我~/.bashrc
奏效了我。取自here
[在这里很好的回答](http://superuser.com/a/241833/197866)(下面不同的'less'选项)。 – 2015-05-24 15:29:16