我试图养成永不离开我的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中?
答案 0 :(得分:2)
作为使用:!
命令进行炮轰的替代方法,您可能需要尝试Tim Pope的Fugitive插件。从文档引用:
我不会骗你; fugitive.vim可能是最好的 有史以来的Git包装。
安装完成后,您只需运行:Gcommit
命令即可打开提交缓冲区。
在Drew Neil的Vimcasts,关于使用Fugitive的系列文章值得一看:
:Gcommit
答案 1 :(得分:1)
Git提交检查环境值$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将不再检查$EDITOR
env var。