windows - 在 Windows 中使用来自 Git 的 Vimdiff 时,颜色会变高

标签 windows git vim git-diff vimdiff

我已将 Git 配置为使用 Vimdiff 作为其在 Windows 机器上的差异/merge 工具。它有效,但颜色搞砸了。首先,它不会显示任何语法突出显示,无论我告诉它多少打开语法并设置文件类型。其次,配色方案令人讨厌,但是当我执行 :colorscheme 并按下 CTRL-D 时,我没有看到通常的配色方案列表。没有默认的,只有我自己安装的。

奇怪的是,当我直接从命令提示符(即不通过 Git)启动 Vim 时,我的配色方案很好,并且我有所有预期的配色方案可用,并且语法突出显示有效。

这让审查更改变得不必要地痛苦,而且当我试图向同事展示差异时尤其烦人。它们几乎不可读。这几个月来一直困扰着我,我想不通。

让 Git 启动 Vim 与仅仅启动 Vim 有什么不同吗?我该如何解决这个问题才能使我的 Vims 始终如一地运行?

最佳答案

终于,几个月后,我弄明白了。我想我应该分享我的发现,以防其他人正在打同样的仗。

Windows 版 Git 与许多程序的自己版本一起打包。显然,Vim 也在其中。执行 :echo $VIM 表明,当 Git 启动 Vim 时,它指向 C:/Program Files (x86)/Git/share/vim。这个 Vim 安装似乎与我的完整 Windows Vim 安装不同。

此时您可以通过多种方式解决问题,这是可以想象的。一种是重新指向 VIM 环境变量。相反,我将上面的路径更改为指向我实际安装的 Vim 的符号链接(symbolic link):

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\

现在语法高亮可以用了,配色方案看起来不错,审查代码也容易多了。

关于windows - 在 Windows 中使用来自 Git 的 Vimdiff 时,颜色会变高,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19865927/

相关文章:

c# - 如何获取路径超过 260 个字符的文件的长度?

git - 恢复原始 merge 后 merge

git - 如何列出使用 git/git flow 提交的文件

git - 如何浅克隆特定分支上的 repo 协议(protocol)?

Vim - 检查缓冲区是否在多个窗口中打开

windows - 如何在GO中实现跨平台文件锁定

c - NtQueryInformationProcess ProcessConsoleHostProcess 返回错误的进程 ID

windows - 当我的应用程序最大化时,自动隐藏任务栏不出现

vim - 在 Vim 与 Emacs 中编辑非 ASCII 文本

vim - 是否有用于编辑的视觉闪光效果?