如何设置在gvim中显示“hg diff”输出?

18
我使用Mercurial,想在Vim或GVim中查看修改后的变化。 通常使用hg diff来以diff格式显示修改的变化。 但我想在Vim中查看原始版本和修改后的版本并排显示。
我尝试使用ExtdiffExtension中的extdiff,但它没有起作用,GVim打开了一些空文件。
我知道有gvim -d localfile otherfile,但我不知道如何配置Mercurial。
4个回答

31

如果您喜欢使用vim,我在我的~/.hgrc中使用了几个月而没有问题。

[extensions]
hgext.extdiff =

[extdiff]
cmd.vimdiff =

[alias]
vi  = vimdiff
vim = vimdiff

那么你只需使用

hg vimdiff somefile

[alias] 部分是可选的,但拥有它很好。

FWIW,我正在使用v1.4.2。


对我来说很有效,比@rcs提供的解决方案简单得多。谢谢。+1 - Keith Pinson
如果您喜欢使用GVim:请将“cmd.vimdiff =”更改为“cmd.vimdiff = gvimdiff” - Lambart

4

4
链接不被认为是一个好的答案。请概述/进一步描述该链接中的内容。 - Keith Pinson
从链接的页面上:hg cat <filename> | vim - -c ":vert diffsplit <filename>" -c "map q :qa!<CR>";我不确定这是否是一个好的解决方案。 - Facundo Casco

1

关于vim部分我无法帮助你,但是在mercurial中,要获取父级变更集中文件内容,你可以使用hg cat path/to/my/file.ext


0

在使用MacVim(和homebrew)时,需要在OSX上进行以下操作:

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

edit~/.hgrc

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

然后使用:

hg gdiff somefile.cpp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接