git - 使用 gvim for windows 和 msys git 1.7.0.2 使用 :GDiff command of fugitive. vim 时出错

标签 git vim msysgit vim-fugitive

当我在 Windows 上时,我一直在使用 git 和 fugitive.vim 来管理代码。但是,我遇到了一个问题。根据documentation , :GDiff 命令应该是一个差异窗口,并允许我只暂存文件的一部分。但是,当我在有更改的文件中发出命令时,我收到以下错误消息: alt text

这是windows的问题吗? Vim ? Fugitive ? msysgit?文件权限?有人知道吗?

最佳答案

我遇到了同样的问题 - 这是我解决它的方法。

默认情况下,Vim 会尝试在原始文件旁边存储交换文件。 Fugitive 创建了一个不对应任何真实文件路径的缓冲区,因此 Vim 在尝试创建交换文件时会 barfs。解决方案是确保 Vim 有一个可以写入的路径。

这是我解决这个问题的方法:

if has("win32") || has("win64")
   set directory=$TMP
else
   set directory=~/tmp
end

这是 GitHub 上的原始问题: https://github.com/tpope/vim-fugitive/issues/9

编辑:

作为fow下面指出,使用类似下面的内容可能更好:

set directory+=,~/tmp,$TMP

Vim 应该尽可能使用第一个路径。

关于git - 使用 gvim for windows 和 msys git 1.7.0.2 使用 :GDiff command of fugitive. vim 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2932399/

相关文章:

c# - 引入 Visual Studio 2015 的问题

vim - Vim 创建 ~/.vim/swap 目录的目的是什么?

vim - 创建新折叠时阻止 Vim 打开所有后续关闭的折叠

vim - vim中不区分大小写的f键?

git - 如何修复 "corrupted"交互式 rebase ?

git - 如何将 git 裸镜像存储库转换为常规裸存储库

Git 推送卡在 99%

git - Difftool 打不开,命令行挂起

windows - 滚动时 msysgit 中的乱码文本

windows - 如何在 Windows 上通过 ssh 阻止 git 解析错误的路径?