我在使用Vim编辑文件时,希望能够快速突出显示自上次提交以来所做的任何更改,同时仍然能够编辑该文件。是否有类似实现此功能的方法?
看一下 Tim Pope 的 fugitive.vim 插件。
我是一个 Git 纯洁主义者,通常会在命令行中使用 Git ,但当我在 vim 中时,我发现这个插件可以满足我大部分的需求,同时我还可以直接调用 git 命令。
编辑于2020年01月23日:快速搜索后发现还有另一个插件似乎更加支持版本控制系统:https://github.com/mhinz/vim-signify
尝试使用vcscommand插件,使用:VCSVimDiff
查看与当前修订版本的差异(支持hg和git,可能也支持其他SCM系统),使用内部:bdelete
(:bd
)停止差异比较(当然是在已打开的缓冲区上,而不是已存在的缓冲区上)。如果您正在使用gentoo,请在库中获取:app-vim/vcscommand
。
:!git diff
这将显示与 HEAD
相比的更改(对于所有文件)。:!git diff path/to/file
这是一种快速的方法,无需切换不同的应用程序或安装任何插件(在某些你无控制权的系统上安装插件并不总是容易的)。:r !git diff
,查看更改,然后键入 u
撤消添加。这也很好用,特别是如果你想从 HEAD
拷贝一些文本。:!git diff %
或 :!hg diff %
。 - Christopher Camps:new | r ! hg annotate -un #
运行hg annotate
命令在当前缓冲区的文件名上,然后将输出转储到一个新缓冲区。
这种形式的命令显然不是特定于git和hg的。您可以以这种方式捕获任何shell命令的结果。
有一个关于如何同时使用git和vim的网站:
http://www.osnews.com/story/21556/Using_Git_with_Vim
我使用了git.vim插件,每次需要查看差异时,可以使用\gd
命令。