在我的文件中,我將diff-cmd
設置爲調用vimdiff
來查看更改的腳本。如何在查看文件之間中止vimdiff?
以下是我的問題: 我在查看兩個svn URLS之間的差異,其中有10個文件被修改。 svn diff url1 url2
命令將打開第一個文件的差異。發佈:vim中的qa將顯示第二個文件的差異。現在有沒有辦法完全退出vim,放棄進一步查看diff(除了運行:qa剩下的8次)?
更新: 以下是我的腳本:
#!/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'}"
我沒有按順序調用一對文件。我已經粘貼了我的腳本。 Vim被調用一次:vimdiff -o –
是的,你的腳本只是一個額外的包裝。我的意思是Subversion中的邏輯;希望這是一個腳本(或其他易於修改的程序),以便您可以適應它。 –
你試過':cquit'是否影響循環?而誰低估了這個答案,評論中的評論就會更有幫助。 –