- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
所以我下载了 Vim 的逃亡插件并尝试让它在我的 Windows 7 机器上运行。
我的 %PATH%
中没有 git.exe
的路径,我不想添加它,因为这样做可能会出现问题。
我的 Git 安装在 C:\Program Files (x86)\Git\
。有一个 fugitive 的配置选项,我可以在其中告诉我到 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)
并且 cmd 窗口提示 "\Git\cmd\git.exe"无法处理
(翻译自德语)。
如何指定 git.exe
的路径,这样我就不必扩展我的 $PATH
变量?
或者更一般的:在 Vim 中使用 system
命令时,如何调用位于 'C:\Program Files (x86)\
下的程序>?
最佳答案
在你的 vimrc 中,添加如下内容:
if has('win32')
let $PATH .= ';' . 'C:/Program Files (x86)/Git/bin'
endif
这不会影响 Vim 之外的 %PATH% 的值。
或者,要让 Fugitive 像宣传的那样工作,您必须对其进行一些修补。在 s:Git() 中替换
call s:ExecuteInTree('!'.git.' '.cmd)
与
if has('win32')
call s:ExecuteInTree('!"'.git.' '.cmd.'"')
else
call s:ExecuteInTree('!'.git.' '.cmd)
endif
然后在您的 vimrc 中将可执行文件的路径用引号引起来:
let g:fugitive_git_executable = '"C:/Program Files (x86)/Git/bin/git"'
(参见 correct quoting for cmd.exe for multiple arguments 。)
您可能想与维护者取得联系。如果这个我会很惊讶以前没有出现过这个问题。
我只是修改$PATH。无论如何,一些程序要求正确设置 $PATH。
(另外:@echristopherson 的解决方案是完全可行的,但在 21 世纪不得不求助于它很烦人。)
关于windows - 我如何告诉 Fugitive 我在 Windows 上使用 Git 的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25863559/
命令 :Gdiff相当于运行 git diff在那个文件上。 git diff --staged 的等价物是什么?或 git diff --cached ? 最佳答案 我找到了一种方法来做到这一点。运
在 fugitive 中,我可以通过 :Gstatus 在新窗口中获取 git status,并在该窗口中通过 D 获取文件上的差异,以获取新拆分中的差异。 也可以使用 :Glog 获取文件的所有版本
我正在寻找vim命令,该命令将从Glog的文件 View 退出回到正常(原始)文件。 例子: 假设我正在使用vim查看文件。 输入:Glog后,我可以浏览该文件的所有git版本。 我正在寻找命令(或其
我正在使用 vim-fugitive 的 :Gdiff对于提交,但它不显示空格更改,因此我无法提交,例如缩进更改。我没有像 core.whitespace 这样的全局 git 配置,如果我运行 git
我正在尝试使用 :Gcommit 进行提交。出现一个分割窗口。我想我应该在那里输入提交消息。但是,当我按“i”进入插入模式时,缓冲区发生变化并且我看到了如下几行。 100644 f4ae5fb126c
我真的很喜欢 Fugitive(VIM git 包装器插件)但是我想创建一个启动 vim 然后运行的脚本 :Gstatus 立即。然而当我尝试 vim -c Gstatus 我收到一条错误消息,指出
我知道你可以使用 GWrite暂存当前文件。您也可以使用 GStatus和 -暂存您正在选择的文件。 有没有办法到GWrite所有文件还是做git add .不使用 GStatus ? 最佳答案 见
我知道:Glog将使用当前缓冲区中文件的所有版本填充 quickfix 列表,我可以点击 在这些上查看该特定版本的文件,但是有没有一种简单的方法可以查看特定版本与先前版本的差异(以便轻松查看发生了什么
我最近从 vim 切换到 neovim,安装了 vim-fugitive 插件。之前,在 vim 中运行 :Git rebase -i 购买了 vim 窗口中的交互式 rebase 窗口,我可以根据需
我在 vim 中还是个新手,所以我希望这个问题不是太基础,但我在 Fugitive 的文档中找不到答案。我希望添加一个执行以下操作的切换功能: if :Gblame buffer is open:
我在 vim 中还是个新手,所以我希望这个问题不是太基础,但我在 Fugitive 的文档中找不到答案。我希望添加一个执行以下操作的切换功能: if :Gblame buffer is open:
默认情况下,如果您使用 fugitive.vim在与 git 冲突的文件缓冲区上的 :Gdiff,你将得到一个 three way diff显示 HEAD、工作副本(带有冲突标记)和 merge。 我
目前,如果我输入 :Glog,我会得到当前文件的修订列表。 如果我输入 :Glog --,我会得到所有文件的提交列表。 我需要输入什么来获取当前文件的提交? 最佳答案 为了完整起见,将修订加载到缓冲区
你好吗git add .在 Vim 中逃亡? 命令 :Git add .没有做任何添加 最佳答案 我认为您正在寻找 :Gwrite . 视频here解释 Fugitive 以及该命令做得很好。 关于v
我有一个很大的文件,我修改了几行并保存了它。 Fugitive 知道哪些行被修改了,在它们之间跳转会非常有用。是否有现有的热键,或者我可以以某种方式映射它? 最佳答案 如果您的意思是您已经完成了 :G
使用 vim-fugitive, 是否有一种简单的方法来“取消拆分”和:Gedit(返回到工作树中的当前对象)? 例如在 Gcommit/Gstatus 缓冲区中时,您可以按 D 进入并排差异。现在,
几个月来,我一直在使用 vim 和优秀的 Fugitive 插件。但是今天,由于我无法解决的原因,:Gstatus 命令改变了行为。 它仍然会打开类似“git status”的屏幕,它会响应“R”来刷
我最近一直在使用 Fugitive 的 Gblame,但不太了解“reblame”的作用。 谁能更清楚地描述一下这些选项的作用: - reblame at commit ~ reb
我正在编辑分成三个窗口打开的文件。我想将它们提交到存储库中。有什么命令可以做到这一点吗? 最佳答案 有几种方法可以完成此任务。我将概述使用 :Git 的最具交互性的方法. 通过:Git打开状态窗口 通
我正在使用 Tim Pope 的 Fugitive plugin我想更改 :Gstatus 默认高度。我怎样才能做到这一点? 最佳答案 它将它加载到预览窗口中,因此您可以设置 previewheigh
我是一名优秀的程序员,十分优秀!