当我 运行 `git difftool --tool=vimdiff` 有一个新文件时,如何防止出现 "/dev/null"?

How do I prevent "/dev/null" from coming up when I run `git difftool --tool=vimdiff` when there is a new file?

虽然 运行 git diff 会出现与上图类似的内容,但会占用大量屏幕 space 并且难以读取新文件。有什么方法可以防止第一个屏幕在执行差异时显示在新文件上吗?

你可以在命令行指定--diff-filter=a来过滤掉所有添加的文件,你根本看不到新文件,或者你可以告诉vim只显示[=16] =] 一旦 vimdiff 启动,你就进入了 control-W O(对于 window 控制,只有 window)。尝试 :help windows 获取有关 vim-window 相关问题的一般帮助。

您可以编写忽略 /dev/null 的脚本并使用 extcmd option of difftool

调用它

脚本diff.sh

if [ "" = "/dev/null" ]; then
  vimdiff ""
elif [ "" = "/dev/null" ]; then
  vimdiff ""
else
  vimdiff "" ""
fi

difftool

的命令
git difftool --extcmd=path/to/script/diff.sh