1

我正在努力养成永远不要离开我的 gvim 的习惯,甚至不要在终端中执行命令。这适用于:!<command>. 然而,如果这个命令想要打开默认编辑器(vim),讽刺的是它在 gvim 中不起作用(它在命令行 vim 中起作用)。例子:

:!git commit
error: Terminal is dumb, but EDITOR unset
Please supply the message using either -m or -F option.

我可以跑:

:!git commit -m "message"

但是当我检查文件和编写提交消息时,我喜欢 vim 窗口。是否可以像命令行 vim 一样使提交窗口出现在 gvim 中?

4

2 回答 2

2

作为使用:!命令进行炮击的替代方法,您可能想尝试 Tim Pope 的Fugitive插件。从文档中引用:

我不会骗你的;fugitive.vim 很可能是有史以来最好的 Git 包装器。

安装后,您只需运行:Gcommit命令即可打开提交缓冲区。

在 Drew Neil 的Vimcasts上,他有一系列关于使用 Fugitive 的文章,值得一看:

于 2013-09-17T16:50:21.970 回答
1

Git commit 检查环境值$EDITOR以确定应该打开哪个编辑器来键入提交消息,除非已使用-m命令行上的 optin 指定了消息。

利用:

:!EDITOR=vim git commit

这会将$EDITOR环境变量设置为 vim。


进一步说明:

(来自 man git-commit)

用于编辑提交日志消息的编辑器将从 GIT_EDITOR 环境变量、core.editor 配置变量、VISUAL 环境变量或 EDITOR 环境变量(按此顺序)中选择。有关详细信息,请参阅 git-var(1)。

这意味着除了设置环境值之外,您还可以使用它git config来指定编辑器。(我会这样做)

git config core.editor vim

如果你这样做了,那么 git commit 将不再检查$EDITORenv var。

于 2013-09-17T16:18:27.333 回答