6

私の.subversion/configファイルでは、変更を表示するためdiff-cmdに呼び出すスクリプトとして設定しました。vimdiff

以下は私の問題です: 10 個のファイルが変更された 2 つの svn URL 間の差分を表示しています。このsvn diff url1 url2コマンドは、最初のファイルの差分を開きます。vim で :qa を発行すると、2 番目のファイルの差分が表示されます。さて、vimを完全に終了し、差分の表示を中止する方法はありますか(残りの8回に :qa を実行する以外に)?

更新: 以下は私のスクリプトです:

#!/bin/sh 

# use vimdiff to view diffs
DIFF="/usr/bin/vimdiff -o"


NUM=$#  # number of arguments
LEFT=${6} # old file
RIGHT=${7} # new file
L_TITLE=${3} # actual name and revision of old file
R_TITLE=${5} # actual name and revision of new file
ST="${L_TITLE}"

# get the file name
NAME=`echo $ST | tr -s ' ' '\n' | head -1` 
L_BRANCH=`echo $L_TITLE | tr -s ' ' '\n' | head -2 | tail -1`
R_BRANCH=`echo $R_TITLE | tr -s ' ' '\n' | head -2 | tail -1`

# get the old and new revision numbers
L_REV=`echo $L_TITLE | tr -s '(' '\n' | cut -d ')' -f1 | tail -1 | tr -s ' ' '_' `
R_REV=`echo $R_TITLE | tr -s '(' '\n' | cut -d ')' -f1 | tail -1 | tr -s ' ' '_' `

L_REV=`echo "${L_BRANCH}__${L_REV}"`
R_REV=`echo "${R_BRANCH}__${R_REV}"`

# invoke vim
$DIFF $LEFT $RIGHT -c "setl stl=$NAME%20{'$L_REV'} | wincmd W | setl stl=$NAME%20{'$R_REV'}"
4

3 に答える 3