2015-01-22 2 views
0

Код ниже содержит a vim wiki. Он использует черепаху для фиксации всех открытых буферов.Интеграция черепахи VIM svn: как фиксировать текущий буфер?

Если есть открытый буфер, который не находится в режиме репо, он будет черепаховаться.

Какова версия этого кода, которая только фиксирует текущий буфер?
Кроме того, vim должен написать буфер перед вызовом черепахи.

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

Переполнение стека не о других, делающих работу за вас. Что вы пробовали, где вы боретесь? – mMontu

+0

Извините, у меня нет опыта работы с скриптами в vim и я не хочу изучать его для этой задачи. Если вопрос не соответствует теме, закройте его. Просто ищем поддержку. Я мог бы перефразировать вопрос: «Как вы фиксируете текущий буфер в VIM с черепахой, я пробовал этот код, но он не работает, потому что ...» –

ответ

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, вам нужно протестировать самостоятельно.

+0

Это работает. Благодарю. –

Смежные вопросы