Pau*_*cks 11 git vim msysgit vim-fugitive
当我在Windows上时,我一直在使用git和fugitive.vim来管理代码.但是,我遇到了一个问题.根据文档,:GDiff命令应该是一个diff窗口,并允许我只放置文件的一部分.但是,当我在包含更改的文件中发出命令时,我收到以下错误消息:

这是windows的问题吗?VIM?逃犯?msysgit?文件权限?有人知道吗?
Cha*_*les 14
我有同样的问题 - 这是我如何解决它.
默认情况下,Vim会尝试在原始文件旁边存储交换文件.Fugitive创建一个与任何实际文件路径不对应的缓冲区,因此Vim barfs尝试创建交换文件时.解决方案是确保Vim具有可写入的路径.
以下是我修复此问题的方法:
if has("win32") || has("win64")
set directory=$TMP
else
set directory=~/tmp
end
Run Code Online (Sandbox Code Playgroud)
这是GitHub上的原始问题:https: //github.com/tpope/vim-fugitive/issues/9
编辑:
由于FOW低于所指出的,它可能会更好使用类似以下内容:
set directory+=,~/tmp,$TMP
Run Code Online (Sandbox Code Playgroud)
Vim应该使用它的第一条路径.