Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Windows中使用Git中的Vimdiff时,颜色会增加_Windows_Git_Vim_Git Diff_Vimdiff - Fatal编程技术网

在Windows中使用Git中的Vimdiff时,颜色会增加

在Windows中使用Git中的Vimdiff时,颜色会增加,windows,git,vim,git-diff,vimdiff,Windows,Git,Vim,Git Diff,Vimdiff,我已经将Git配置为在Windows机器上使用Vimdiff作为其diff/merge工具。这是可行的,但颜色是乱七八糟的。首先,它不会显示任何语法突出显示,无论我告诉它如何打开语法并设置文件类型。其次,colorscheme是令人讨厌的,但是当我执行:colorscheme并点击CTRL-D时,我看不到通常的colorscheme列表。没有默认的,只有我自己安装的 奇怪的是,当我直接从命令提示符(即不是通过Git)启动Vim时,我的colorscheme很好,并且我有所有预期的colorsch

我已经将Git配置为在Windows机器上使用Vimdiff作为其diff/merge工具。这是可行的,但颜色是乱七八糟的。首先,它不会显示任何语法突出显示,无论我告诉它如何打开语法并设置文件类型。其次,colorscheme是令人讨厌的,但是当我执行
:colorscheme
并点击CTRL-D时,我看不到通常的colorscheme列表。没有默认的,只有我自己安装的

奇怪的是,当我直接从命令提示符(即不是通过Git)启动Vim时,我的colorscheme很好,并且我有所有预期的colorscheme可用,语法高亮显示也很有效

这使得审查变更变得不必要的痛苦,当我试图向同事展示差异时,这尤其令人恼火。它们几乎不可读。这件事困扰了我好几个月,我想不出来


让Git启动Vim与仅仅启动Vim有什么不同吗?我如何解决这个问题,才能让我的Vims保持一致?

几个月后,我终于找到了答案。我想我应该分享我的发现,以防其他人也在打同样的仗

Git for Windows附带了许多程序的自己版本。显然,维姆就是其中之一。执行一个
:echo$VIM
显示当Git启动VIM时,它指向
C:/ProgramFiles(x86)/Git/share/VIM
。此Vim安装似乎与我的完整Windows Vim安装不同

在这一点上,你可以用几种方法来解决这个问题。一种方法是重新指向VIM环境变量。相反,我将上面的路径更改为指向实际Vim安装的符号链接:

C:\Program Files (x86)\Git\share>mklink /D "C:\Program Files (x86)\Git\share\vim" "C:\Program Files (x86)\Vim\"
symbolic link created for C:\Program Files (x86)\Git\share\vim <<===>> C:\Program Files (x86)\Vim\
C:\Program Files(x86)\Git\share>mklink/D“C:\Program Files(x86)\Git\share\vim”C:\Program Files(x86)\vim“
为C:\Program Files(x86)\Git\share\vim C:\Program Files(x86)\vim创建的符号链接\

现在,语法高亮显示开始工作,颜色方案看起来不错,代码审查也容易多了。

因为每次我一起发布问题和答案时,我都会受到抨击:这是一个关于StackExchange的问题。但是,如果你早点发布问题,我可能会让你少受几个月的挫折;)@随机数字显示我是个白痴;)