以下代码来自a vim wiki。它使用tortoise来提交所有打开的缓冲区。
如果有一个不在回购中的缓冲区打开,它将会出错。
只提交当前缓冲区的代码版本是什么?
此外,vim应该在调用tortoise之前写入缓冲区。
func! CommitSVNAll()
let buflist = []
for b in range(1, bufnr('$'))
if buflisted(b) && filereadable(bufname(b))
call add(buflist, fnamemodify(bufname(b), ':p'))
endif
endfor
let files = join(buflist, '*')
if files != ''
silent exec '!start "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"'.files.'" /closeonend:4'
else
call confirm('No files loaded')
endif
endfunc
答案 0 :(得分:1)
你可以尝试一下,而不是测试:
func! CommitSVNAll()
let files = fnamemodify(bufname('%'), ':p')
if files != ''
silent exec '!start "C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:"'.files.'" /closeonend:4'
else
call confirm('No files loaded')
endif
endfunc
基本上,我只是用当前缓冲区名称设置files
。没有tortoiseSVN的经验,你必须自己测试。