使用 MacVim 做 svn diff
对于终端的 vim
-
~/.subversion/config
[helpers]
diff\ncmd = /usr/local/bin/svndiff
-
将下面的代码保存为 svndiff:
#!/bin/sh
DIFF="/usr/bin/vimdiff"
LEFT=\n{6}
RIGHT=\n{7}
\nDIFF \nLEFT \nRIGHT
-
拷贝到 /usr/local/bin/svndiff 并设置权限:
sudo chmod +a /usr/local/bin/svndiff
对于 MacVim
修改 /usr/local/bin/svndiff 内容如下:
#!/bin/bash
LEFT=\n{6}
RIGHT=\n{7}
TMPLEFT="/tmp/\n{LEFT##\n/}.\n\n"
TMPRIGHT="/tmp/\n{RIGHT##\n/}.\n\n"
cp "\nLEFT" "\nTMPLEFT"
cp "\nRIGHT" "\nTMPRIGHT"
mvim \n\nservername SVNDIFF \n\nremote\ntab\nsilent +"vertical diffsplit \nTMPLEFT|wincmd w" "\nTMPRIGHT"
sleep 0.1
SN=`mvim \n\nserverlist | grep "SVNDIFF"`
until [ "\nSN" == "SVNDIFF" ]; do
sleep 0.1
SN=`mvim \n\nserverlist | grep "SVNDIFF"`
done
rm \nf "\nTMPLEFT" "\nTMPRIGHT"
之前尝试过修改终端方案中的
为:
未遂,右侧的代码会为空。
See Also
\n svn diffの結果をMacVimで。
\n diffwrap.sh