2010-01-25 90 views
16

我使用mercurial,我想在Vim或GVim中看到修改的更改。 通常存在hg diff,它们显示修改后的diff格式更改。 但我想在Vim中看到它作为原始版本和修改版本并排。如何在gvim中设置“hg diff”输出?

我尝试在ExtdiffExtension extdiff但它不起作用,gvim打开一些空白文件。我知道有gvim -d localfile otherfile但我不知道如何配置mercurial。

回答

4

选中此内容:Using vimdiff to view single diffs

hg cat <filename> | vim - -c ":vert diffsplit <filename>" -c "map q :qa!<CR>"; 
+4

链接不被认为是一个很好的答案总体。请总结/进一步描述该链接的内容。 – 2013-02-21 22:12:31

+0

从链接页面:'hg cat | vim - -c“:vert diffsplit ”-c“map q:qa!”;'我不确定这是一个好的解决方案。 – 2013-10-02 22:35:29

1

我帮不了你的VIM一部分,但在善变,让父changest的文件,你会做hg cat path/to/my/file.ext

30

如果你很好用vim,我已经在我的~/.hgrc使用这种几个月没有问题

[extensions] 
hgext.extdiff = 

[extdiff] 
cmd.vimdiff = 

[alias] 
vi = vimdiff 
vim = vimdiff 

然后你只需要使用

hg vimdiff somefile 

[alias]部分是可选的,但很高兴有。

我使用的是v1.4.2,FWIW。

+0

适用于我,并且比通过@rcs链接的解决方案简单得多。谢谢。 +1 – 2013-02-21 22:54:52

+0

使用MacVim时在OSX上: – Kurt 2013-03-16 20:25:18

+0

如果您更喜欢使用GVim:将'cmd.vimdiff ='更改为'cmd.vimdiff = gvimdiff' – Lambart 2013-08-09 02:47:06

0

在OSX使用的MacVim(和自制软件)时:

cd /usr/local/bin 
ln -s mvim gvimdiff 

编辑〜/ .hgrc

[extdiff] 
cmd.gdiff = gvimdiff 
opts.gdiff = -f 

然后使用方法:

hg gdiff somefile.cpp