git diff默认的工具太难看了,而Emacs提供的Ediff则直观的多。 作为一名Emacs党,没道理放着这等神器不用,现在就写一下将ediff设置为git difftool的步骤:
创建一个脚本来帮助你调用Ediff进行文件比较。
#!/bin/bash emacsclient -a "" -c -n --eval "(require 'ediff)" --eval "(ediff-files \"$1\" \"$2\")"
注意我这里使用了emacsclient ,避免每次都要打开一个Emacs进程。
emacsclient后面的
-a
参数表示如果没有启动Emacs daemon的话,则自动启动一个。 所以你无需事先启动Emacs daemon。用git config配置difftool
这里假设上一步创建的脚本为
~/bin/ediff.sh
,那么可以这么配置git config --global diff.tool ediff git config --global difftool.ediff.cmd "~/bin/ediff.sh \"\$LOCAL\" \"\$REMOTE\"" git config --global difftool.prompt false
OK,这就搞定了,试试运行
git difftool
看看效果吧。