2012-05-11 2 views
0

На моем Mac, я использую это дифф мой текущий буфер:Как запустить WinMerge из Vim?

nnoremap <Space>d 
\ :silent w! /tmp/vim_current_buffer<cr> 
\ :silent !gdiff "%" /tmp/vim_current_buffer<cr> 

(gdiff моя графическая отличаться)

Теперь я использую Windows 7, и я пытаюсь получить этот код для работы с WinMerge. Но я не могу понять, как запустить WinMerge из командной строки.


Update

Я могу запустить WinMerge с:

nnoremap <Space>m :!"C:\Program Files (x86)\WinMerge\WinMergeU.exe"<cr> 

Но я не могу получить его, чтобы открыть два файла. Добавление дополнительных слэшей не работает. Я получаю это когда я пытаюсь это:

C:\Windows\system32\cmd.exe /c C:\\Program\ Files\ (x86)\\WinMerge\\WinMergeU.ex 
e 
'C:\\Program\' is not recognized as an internal or external command, 
operable program or batch file. 
shell returned 1 
Hit any key to close this window... 

Это то, что я до сих пор:

nnoremap <Space>d 
\ :silent w! "C:\tmp\vim_current_buffer"<cr> 
\ :silent !"C:\Program Files (x86)\WinMerge\WinMergeU.exe" "C:\tmp\vim_current_buffer" "%" <cr> 

Есть ли кто-нибудь, чтобы увидеть ошибку?

+0

является 'vimdiff' не достаточно хорошим? – mihai

ответ

1

Знаете ли вы путь к исполняемому файлу WinMerge? Это было бы что-то вроде C:\Program Files\WinMerge\WinMergeU.exe. Вы должны использовать это вместо gdiff, но перед каждой оригинальной обратной косой чертой и пробелом введите обратную косую черту (например, C:\\Program\ Files\\WinMerge\\WinMergeU.exe).

+0

Я обновил свой вопрос. – Jay

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