我将git diff
设置为包装到vimdiff中,使用“Git Diff with Vimdiff”作为指南,并且它的工作方式与预期一致,除非有许多文件发生更改。使用vimdiff查看所有`git diffs'
当有变化在于多个文件和我跑git diff
,它打开第一个文件,并退出方面Vimdiff的第一个实例后,我出现以下消息:
external diff died, stopping at filename
这是一个完全不同于我习惯的行为。我在过去与SVN有类似的设置,并且在针对多个文件进行比较时,我会查看第一个文件,然后使用:wq
进行写入和退出,然后打开具有差异的下一个文件。
这不是Git的情况。我尝试了:n[ext]
,但是这样做并不会将原始文件填充到左侧窗口,以便可以根据修改后的版本进行区分。
只是我的两分钱:我有'df'别名'diff'和'dt'别名为'difftool'。此外,在Vim中键入':qa'将循环到下一个变更集而不保存任何内容。 – jonyamo 2012-11-26 21:56:22
这个解决方案非常好,除了保存更改时,您必须键入“:w!”而不是:w – Asenar 2013-09-26 09:30:50
@jonyamo设置别名应始终基于我们使用某些命令的频率。我经常使用'git diff'而不是'git difftool'。所以我把'd'改为'diff'和''dt'改为'difftool'。可用性比用模式创建别名更重要。 – 2014-01-08 05:14:05