如何使用Vim快速查看Mercurial或Git更改

Kyl*_*mus 26 git vim mercurial

当我在Vim中编辑文件时,我想快速突出自上次提交以来我所做的任何更改,同时仍然可以编辑该文件.这有什么接近吗?

Abi*_*ern 17

看看Tim Pope的fugitive.vim插件.

我是一个git纯粹主义者,通常会进入git的命令行,但是当我在vim中时,我发现这完成了我需要做的大部分事情,但我仍然可以直接调用git命令.

  • @Abizern,抱歉,我意识到这是一个老问题,但是你如何使用逃犯来突出显示像OP的问题这样的更改行? (3认同)

Ant*_*zzo 13

这是一个新的插件:vim-gitgutter.每当您保存文件时,它都会将更改放入Vim装订线中.这是它在行动中的样子:

在此输入图像描述


ZyX*_*ZyX 12

尝试使用vcscommand插件,用于:VCSVimDiff查看当前版本的差异(支持hg和git,也可能支持其他一些SCM系统)和internal :bdelete(:bd)(当然是打开的缓冲区,而不是现有的)以停止差异.如果您使用的是gentoo,它可以在存储库中找到:app-vim/vcscommand.


g19*_*tic 5

一种方法是执行以下操作:

:!git diff

这将显示与(与所有文件)相比的更改 HEAD

做一个文件 :!git diff path/to/file

这是一种快速的方法,无需切换不同的应用程序,也无需安装任何插件(在一些您无法控制的系统上并不总是很容易).

它不会给你'内联'突出显示,但应该工作正常.

另一种快速完成的方法:r !git diff是查看更改,然后键入u以撤消添加.这也很好用,特别是如果你想从中抽出一些文字HEAD