2010-12-10 94 views

回答

12

嘗試vcscommand插件,使用:VCSVimDiff與當前版本(支持汞和混帳,可能是一些其他的SCM系統,以及)和內部:bdelete:bd)查看differencies(上當然是打開緩衝,而不是已經存在)以停止差價。如果您使用的是gentoo,則可以在存儲庫中找到它:app-vim/vcscommand

+1

接受這個,因爲它適用於git和hg(以及其他人)。但是,我喜歡蒂姆波普的逃犯更適合git。 – 2010-12-10 22:47:18

5

一種方法是做到以下幾點:

:!git diff

這將顯示在比較的變化(所有文件)HEAD

做一個單一的文件 :!git diff path/to/file

這是一個快速的方法,不需要切換不同的應用程序,也不需要安裝任何插件(在一些你沒有的系統上這並不總是容易做到的掌控)。

它不會給你「內聯」突出顯示,但應該可以正常工作。

快速執行操作的另一種方法是執行:r !git diff查看更改,然後鍵入u以撤消添加。這也很好用,尤其是如果你想抽出一些文字HEAD

+0

對於當前文件,只需執行':!git diff%'或':!hg diff%'。 – 2012-08-23 21:23:37

17

看看Tim Pope的fugitive.vim插件。

我是一個git純粹主義者,通常放到git的命令行中,但是當我在vim中時,我發現這樣做大部分是我需要做的,但我仍然可以直接調用git命令。

+0

我比vcscommand插件更喜歡逃犯,但我需要hg支持,所以我接受了其他答案。不過謝謝你讓我轉向逃犯! – 2010-12-10 22:47:58

+0

很高興我喜歡它。直到有朋友建議我親自嘗試,現在我發現它滿足了我的需求。 – Abizern 2010-12-10 23:54:00

+1

@Abizern,對不起,我意識到這是一個古老的問題,但你如何使用逃犯突出像OP的問題改變的線? – 2013-02-16 15:42:02

4

這個怎麼樣(無需插件):

:new | r ! hg annotate -un # 

這對當前緩衝區的文件名運行hg annotate,然後傾倒在一個新的緩衝輸出。

這種形式的命令顯然不是特定於git和hg。您可以通過這種方式捕獲任何shell命令的結果。

13

有一個新的插件可以做到這一點:vim-gitgutter。每當您保存文件時,它會將更改放入Vim裝訂線中。下面是它看起來像在行動:

enter image description here

+1

不錯。如果問題只在Git上,我會接受。正是我想要的。 – 2013-03-01 21:07:35

+0

+1崇高的版本不錯:) – 2013-03-04 03:12:13

+1

只用了一小會兒,它一直非常有用。它使得文件的哪些部分變得非常容易。一個不錯的項目可能是將其移植到包含hg更改。 – 2013-03-04 21:38:06

1

對於水銀的fugitive等效爲lawrenciumhttp://bolt80.com/lawrencium

它同時支持邊並排比較和突出顯示diff -like的觀點(基本上你從hg diff <file>得到的。

(免責聲明:我是作者)