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

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

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

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

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


当前回答

对于Atom,你可以这样做

git config --global core.editor "atom --wait"

Visual Studio Code也类似

git config --global core.editor "code --wait"

它会打开一个Atom或Visual Studio Code窗口供你提交,

或Sublime Text:

git config --global core.editor "subl -n -w"

其他回答

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

export EDITOR="emacs -nw"

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

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

我也在Windows上使用Cygwin,但使用的是gVim(与基于终端的Vim相反)。

为了做到这一点,我做了以下工作:

创建一个单行批处理文件(命名为git_editor.bat),其中包含以下内容: "C:/Program Files/Vim/vim72/gvim.exe"——nofork "%*" 将git_editor.bat放在我的PATH中。 设置GIT_EDITOR = git_editor.bat

完成此操作后,git提交等将正确地调用gVim可执行文件。

注1:gVim的——nofork选项确保它阻塞直到提交消息被写入。

注2:如果路径中有空格,则必须在gVim路径周围加上引号。

注意3:“%*”周围的引号是必要的,以防Git传递一个带空格的文件路径。

我发现了一个漂亮的简单的解决方案张贴在这里-虽然可能有一个错误的路径,你必须复制的“subl”文件由作者给出。

我运行的是Windows 7 x64,我必须把“subl”文件放在我的/Git/cmd/文件夹中才能使它工作。

不过,它的效果很好。

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

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

git config --global core.editor vim

这很有效。