首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用vimdiff查看所有“`git差异”

使用vimdiff查看所有“`git差异”
EN

Stack Overflow用户
提问于 2010-09-15 07:54:54
回答 4查看 128.1K关注 0票数 231

我使用"Git Diff with Vimdiff“作为向导,将git diff设置为包装到vimdiff中,并且它可以正常工作,除非有很多文件发生了更改。

当有多个文件发生更改时,我运行git diff,它会打开第一个文件,在退出第一个vimdiff实例后,我会看到以下消息:

代码语言:javascript
复制
external diff died, stopping at filename

这是一种完全不同于我习惯的行为。我在过去的SVN中有过类似的设置,当我对多个文件进行比较时,我会检查第一个文件,然后使用:wq编写并退出,然后打开下一个有差异的文件。

但Git并非如此。我尝试了:n[ext],但这样做不会用原始文件填充左边的窗口,所以它可以与修改后的版本不同。

EN

回答 4

Stack Overflow用户

发布于 2010-09-15 08:08:01

你可以试试git difftool,它就是用来做这些事情的。

首先,您需要将diff工具配置为vimdiff

代码语言:javascript
复制
git config diff.tool vimdiff

然后,当您想要不同时,只需使用git difftool而不是git diff。它会像你期望的那样工作。

票数 108
EN

Stack Overflow用户

发布于 2013-07-09 14:05:18

代码语言:javascript
复制
Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool. 

git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge
票数 22
EN

Stack Overflow用户

发布于 2020-04-19 12:11:54

对于那些想要使用git中没有列出的其他diff工具的人,比如nvim。以下是我最终使用的内容:

代码语言:javascript
复制
git config --global alias.d difftool -x <tool name>

在我的示例中,我将<tool name>设置为nvim -d,并使用

代码语言:javascript
复制
git d <file>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3713765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档