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