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

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

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

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

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


当前回答

这适用于PowerShell和cmder 1.2(当与PowerShell一起使用时)。在文件~/.gitconfig中:

[core]
    editor = 'c:/program files/sublime text 3/subl.exe' -w

如何使Sublime Text成为Git的默认编辑器?

其他回答

notepad++工作得很好,尽管我选择坚持使用Notepad, -m,有时甚至是内置的“编辑”。

您在使用notepad++时遇到的问题与Git如何启动编辑器可执行文件有关。我对此的解决方案是将环境变量编辑器设置为一个批处理文件,而不是实际的编辑器可执行文件,这样做如下:

start /WAIT "E:\PortableApps\Notepad++Portable\Notepad++Portable.exe" %*

/WAIT告诉命令行会话停止,直到应用程序退出,这样当Git愉快地等待您时,您就可以按照自己的意愿进行编辑。%*将批处理文件的所有参数传递给notepad++。

C:\src> echo %EDITOR%
C:\tools\runeditor.bat

添加sublime git配置全局核心。编辑器“C:\Program Files\Sublime Text 3\sublime_text.exe”

我更喜欢使用Emacs。设置它可能有点棘手。

下载Emacs并解压到c:\ Emacs这样的地方。 运行c: \ emacs \ bin \ addpm.exe。如果你使用windowsvista或以上版本,你需要右键点击“以管理员身份运行”。这将把可执行文件放到您的路径中。 在.emacs文件中添加(server-start)。关于将. Emacs文件放在哪里,请参阅Emacs Windows FAQ。 Git配置——全局核心。编辑emacsclientw

Git现在将在现有的Emacs进程中打开文件。您必须从c:\emacs\bin\runemacs.exe手动运行现有进程。

记事本!

我很喜欢使用Vim,但由于我试图向公司介绍Git,所以我想要一些我们都拥有的东西,并且发现写字板似乎可以正常工作(即Git会等待您完成编辑并关闭窗口)。

git config core.editor '"C:\Program Files\Windows NT\Accessories\wordpad.exe"'

这是在msysgit上使用Git Bash;我没有尝试从Windows命令提示符(如果这有任何不同)。

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

export EDITOR="emacs -nw"

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

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