2010-01-25 93 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