eck*_*kes 7 windows git vim cmd
所以我下载了 Vim 的逃犯插件并尝试让它在我的 Windows 7 机器上运行。
我没有路径git.exe,我%PATH%不想添加它,因为这样做可能会出现问题。
我的 Git 安装在C:\Program Files (x86)\Git\. 有一个逃犯的配置选项,我可以告诉我到git.exe( g:fugitive_git_executable) 的路径。
我尝试了几种口味:
'C:/Program Files (x86)/Git/cmd/git.exe''C:\Program Files (x86)\Git\cmd\git.exe'"C:\Program Files (x86)\Git\cmd\git.exe""C:\\Program Files (x86)\\Git\\cmd\\git.exe"但没有一个工作。似乎在 1、2、4 中,路径中的括号有问题。结果调用:Git status是
C:\WINDOWS\system32\cmd.exe /c (C:\Program Files ^(x86^)\Git\cmd\git.exe status)
Run Code Online (Sandbox Code Playgroud)
并且 cmd 窗口抱怨"\Git\cmd\git.exe" could not be processed(从德语翻译)。
如何指定路径git.exe以便我不必扩展我的$PATH变量?
或者更一般:在 Vim 中使用该system命令时,如何调用位于 下的程序'C:\Program Files (x86)\?
在您的 vimrc 中,添加如下内容:
if has('win32')
let $PATH .= ';' . 'C:/Program Files (x86)/Git/bin'
endif
Run Code Online (Sandbox Code Playgroud)
这不会影响 Vim 之外的 %PATH% 的值。
或者,要让 Fugitive 像宣传的那样工作,您必须对其进行一些修补。在 s:Git() 中替换
call s:ExecuteInTree('!'.git.' '.cmd)
Run Code Online (Sandbox Code Playgroud)
和
if has('win32')
call s:ExecuteInTree('!"'.git.' '.cmd.'"')
else
call s:ExecuteInTree('!'.git.' '.cmd)
endif
Run Code Online (Sandbox Code Playgroud)
然后在 vimrc 中的可执行文件路径周围加上引号:
let g:fugitive_git_executable = '"C:/Program Files (x86)/Git/bin/git"'
Run Code Online (Sandbox Code Playgroud)
(有关多个参数,请参阅cmd.exe 的正确引用。)
您可能想与维护者取得联系。如果这个问题以前没有出现,我会感到惊讶。
我只是修改$PATH。无论如何,有些程序需要正确设置 $PATH。
(另外:@echristopherson 的解决方案是完全可行的,但在 21 世纪不得不求助于它是很烦人的。)
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |