在我的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)WinMergeWinMergeU.exe"<cr>
但是我无法让它打开两个文件。添加额外的斜杠不起作用。当我尝试它时,我得到了这个:
C:Windowssystem32cmd.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:tmpvim_current_buffer"<cr>
:silent !"C:Program Files (x86)WinMergeWinMergeU.exe" "C:tmpvim_current_buffer" "%" <cr>
有人看到错误吗?
你知道WinMerge可执行文件的路径吗? 这将是类似C:Program FilesWinMergeWinMergeU.exe
.您应该能够将其放入而不是gdiff
,但是在名称中的每个原始反斜杠和空格之前放置一个反斜杠(例如 C:\Program Files\WinMerge\WinMergeU.exe
)。