我正在试用Windows上的Git。我到了尝试“git commit”的地步,我得到了这个错误:

终端是哑的,但没有视觉也 编辑器定义。请提供 消息使用-m或-F选项。

所以我发现我需要一个叫做EDITOR的环境变量。没有问题。我把它设置为指向记事本。这几乎奏效了。默认的提交消息在记事本中打开。但是记事本不支持换行。我出去得到了notepad++,但我不知道如何将notepad++设置为%EDITOR%,使其与Git正常工作。

我没有嫁给notepad++。在这一点上,我不介意我使用什么编辑器。我只是希望能够在编辑器中而不是在命令行中输入提交消息(使用-m)。

那些在Windows上使用Git的人:你使用什么工具来编辑你的提交消息,你必须做什么才能让它工作?


当前回答

我在Windows上使用Cygwin,所以我使用:

export EDITOR="emacs -nw"

-nw代表无窗口,即告诉Emacs不要尝试使用X窗口。

Emacs键绑定不能从Windows shell中为我工作,所以我只会从Cygwin shell中使用这个…(建议使用rxvt)

其他回答

这招对我很管用:

将包含编辑器可执行文件的目录添加到PATH变量中。(如。"C:\Program Files\Sublime Text 3\") 重新启动计算机。 改变核心。将编辑器可执行文件的名称改为不带'.exe'扩展名的全局Git变量(例如Git config——global core. exe)。编辑器sublime_text)

就是这样!

注意:Sublime Text 3是我在这个例子中使用的编辑器。

这是我使用Geany作为Git编辑器的设置:

git config --global core.editor C:/path/to/geany.bat

geany.bat中包含以下内容:

#!/bin/sh
"C:\Program Files\Geany\bin\Geany.exe" --new-instance "$*"

它可以在DOS控制台和msysgit中工作。

我设法通过使用引号和/设置编辑器变量来获得环境版本:

EDITOR="c:/Program Files (x86)/Notepad++/notepad++.exe"

编辑:更新到Vim 7.3后,我得出的结论是,最干净和最简单的方法是:

添加Vim的主文件夹到你的路径(右键单击我的电脑→属性→高级→环境变量) 运行这个: Git配置——全局核心。编辑器"gvim -nofork '%*'"

如果您这样做,那么我相当肯定它也会与Cygwin一起工作。

最初的回答:

即使有几个与vim相关的答案,我在Windows下的gVim上也遇到了麻烦(而不使用批处理文件或%EDITOR%或Cygwin)。

我最终得到的是漂亮而干净的,并借鉴了以下几个解决方案:

git config --global core.editor \
"'C:/Program Files/Vim/vim72/gvim.exe' --nofork '%*'"

我花了一点时间才发现,这些不是windows风格的反斜杠。它们是正常的正斜杠。

我正在使用GitHub for Windows,这是一个很好的可视化选项。但我也更喜欢命令行,所以当我在Git shell中打开一个存储库时,我只需要设置以下内容:

git config --global core.editor vim

这很有效。