如何从Vim启动WinMerge?

时间:2012-05-11 21:40:42

标签: vim windows-7 winmerge

在我的Mac上,我使用它来区分我当前的缓冲区:

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

(gdiff是我的图形不同)

现在我正在使用Windows 7,我正在尝试使用此代码与WinMerge一起使用。但是,我无法弄清楚如何从命令行启动WinMerge


更新

我可以用:

运行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>

有没有人看到错误?

1 个答案:

答案 0 :(得分:1)

您知道WinMerge可执行文件的路径吗?它就像C:\Program Files\WinMerge\WinMergeU.exe。您应该能够将其放入gdiff而不是C:\\Program\ Files\\WinMerge\\WinMergeU.exe,而是在名称中的每个原始反斜杠和空格之前加上反斜杠(例如{{1}})。