手動配置
第一步,配置 .vimrc
目标:vimdiff可以快速wrap很長的一行資訊自動換行
" ~/.vimrc
"BEGIN for vimdiff
func Wrap()
set wrap
endfunc
map <F10> :call Wrap()<CR><C-W><C-W> :call Wrap()<CR><C-W><C-W>
imap <F10> <ESC>:call Wrap()<C-W><C-W> :call Wrap()<C-W><C-W>
"END for vimdiff
第二步,配置 ~/.subversion/config
目标:替換svn diff預設的對比工具為自定義的一個腳本,如果不爽,再改回來。
### Set diff-cmd to the absolute path of your 'diff' program.
### Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
diff-cmd = /home/xiwang/usr/local/bin/diffwrap.sh
第三步,建立/編輯 diffwrap.sh
目标:實作diffwrap.sh腳本,使執行指令'svn diff'時能正确執行此vimdiff指令。
#!/bin/bash
# diffwrap.sh
# ---BEGIN--- change
#shift 5
#vimdiff "$@"
DIFF="vimdiff"
LEFT=${6}
RIGHT=${7}
$DIFF $LEFT $RIGHT
# ----END---- change
腳本可以更新一下,通過環境變量DIFF來控制使用哪個diff指令,例如想要實用vimdiff的時候,就可以直接運作指令:export DIFF=vimdiff; 即可:
#!/bin/bash
# @input environment DIFF='diff'|'vimdiff'
# ---BEGIN--- change
# DIFF="diff"
# LEFT=${6}
# RIGHT=${7}
#
# $DIFF "$LEFT" "$RIGHT"
if [ x"$DIFF" == x"" ]; then
DIFF="diff"; export DIFF
fi
LEFT=${6}
RIGHT=${7}
case "$DIFF" in
"vimdiff")
;;
"diff")
OPTS="-Nu"
;;
esac
$DIFF "$LEFT" "$RIGHT" $OPTS
# ----END---- change