我有一个问题,把崇高的文本2作为核心。编辑器与git。

我已经阅读了我能找到的解决这个问题的每一篇文章,但仍然没有什么对我有用。我正在运行Windows。

我做了:

git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe'"

并尝试了各种参数,比如-m。当我打开我的.gitconfig时,这是里面的内容:

[user]
    name = Spencer Moran
    email = smoran02@gmail.com
[core]
    editor = 'C:/Program Files/Sublime Text 2/sublime_text.exe'

如果我打开Git,输入:

README.markdown --edit

README文件在记事本中打开,而不是Sublime Text。

有人知道我做错了什么或者我该怎么补救吗?


当前回答

对于Windows 7,我发现以下解决方案是有效的:

git config --global core.editor "C:/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -n -w"

其他回答

我在cygwin/zsh中工作的地方:

在/usr/local/bin中创建subbl_git文件

#!/bin/bash
/cygdrive/c/Program\ Files/Sublime\ Text\ 2/sublime_text.exe -w -n `cygpath -w $@`

在gitconfig:

editor = /usr/local/bin/subl_git

窗户

Sublime Text 2 (Build 2181)

最新的Build 2181刚刚增加了对-w (wait)命令行参数的支持。下面的配置将允许ST2作为Windows上的默认git编辑器。这将允许git为提交消息等打开ST2。

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

Sublime Text 3 (Build 3065)

Sublime Text 3 (Build 3065)添加了sub .exe命令行助手。使用sub .exe -h作为可用的选项。我有hot_exit: true和remember_open_files: true设置在我的Sublime文本用户设置。我发现下面的git配置很适合我。

git config --global core.editor "'c:/program files/sublime text 3/subl.exe' -w"

Mac和Linux

在终端中输入以下命令,将Sublime设置为Git的编辑器:

Git配置——全局核心。编辑器"subl -n -w"


使用这个Git配置,在编辑器中打开新选项卡。我编辑我的提交消息,保存标签(Ctrl+S)并关闭它(Ctrl+W)。

Git将等待选项卡关闭后继续工作。

今天晚上,我在Windows中使用git编辑器时遇到了同样的问题,最终我得到了它。

你需要使用bash语法设置你的编辑器路径,并使用DOS 8.3格式来避免空格:

(对我来说)这行不通:

git config --global core.editor "C://Program files/Sublime Text/sublime_text.exe"

这个做的事:

git config --global core.editor /C/PROGRA~1/SUBLIME~1/sublime_text.exe

您可以通过dir /x获取目录的DOS 8.3名称

出于某种原因,我一直在努力解决这个问题,上面的例子都不适合我。这就是我的解决方案:

 git config --global core.editor "'c:/<path to sublime>/sublime_text.exe' -w $*"

你特别需要路径周围的' '和参数末尾的$*,都在" "中。

使用Sublime Text 2和以下配置,如果关闭git提交的注释文件时什么都没有发生:

git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -w"

如果git在Sublime中关闭COMMIT_EDITMSG注释文件时没有完成提交,我发现这可能是因为你在管理员模式下运行CMD(并且在非管理模式下已经打开了Sublime文本)。我也有同样的问题,当我在正常模式下启动CMD时,它为我工作。

Ps:只是想回答@david在接受答案的评论中指出的问题,但我不能发表评论,因为我是新来的…所以我提出了一个新的答案,因为我认为这对一些遇到问题的人是有用的。