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

我有一个问题,将Sublime Text 2设置为core.editorgit

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

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

101000 次浏览

你可以在Mac和Linux上使用这个命令:

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

窗户

Sublime Text 2 (Build 2181)

最新的建立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)

崇高的文本3 (Build 3065)添加了subl.exe命令行帮助器。使用subl.exe -h作为可用的选项。我有hot_exit: trueremember_open_files: true设置在我的崇高文本用户设置。我发现下面的git配置很适合我。

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

Mac和Linux

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

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


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

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

我刚刚成功地在PowerShell (windows命令行工具,这也被用作GithubforWindows上的默认命令行)的帮助下完成了它

只需要在“C:\Users\%username%\My Documents”上创建一个文件夹“WindowsPowerShell”。 然后,创建一个名为“profile.ps1”的文件。 确保你有正确的文件扩展名,.ps1而不是.txt。 在概要文件内部。Ps1,把这行设置一个别名命令:

Set-Alias subl 'c:\program files\sublime text 2\sublime_text.exe'

确保您机器上的sublime目录是正确的。 你也可以在在这里中看到配置细节

现在,我可以用Sublime Text 2通过PowerShell命令编辑文件,只需输入:

subl filename

希望这是有用的…

我在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

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

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

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

今天晚上我在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名称

对于MAC用户,我可以为Sublime使用以下内容:

首先使用命令检查.gitconfig文件:

  1. cd ~
  2. ls -la
  3. cat .gitconfig

现在可以添加这样的配置:

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

l1将告诉从第1行开始。

使用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在接受答案的评论中指出的问题,但我不能发表评论,因为我是新来的…所以我提出了一个新的答案,因为我认为这对一些遇到问题的人是有用的。

如果你是Mac用户,下面是如何操作:

git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'

对于Mac OS X,在文件~/。我不得不把这段代码放在我的端来解决问题。

editor = /Applications/Sublime\\ Text.app/Contents/SharedSupport/bin/subl  -n -w

这是当subl工作良好,但git无法访问它。显示这些错误

subl -n -w: subl: command not found
error: There was a problem with the editor 'subl -n -w'.

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

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

好吧,我在从gitbash调用notepad++时遇到了一些麻烦,即使在将它设置为我的core.editor之后。

我把下面这行代码附加到我的gitbash安装目录中的.bashrc文件中,解决了这个问题。

alias npp='winpty "C:/Program Files (x86)/Notepad++/notepad++.exe"'

so, i can invoke notepad++ with the alias "npp". i feel this can help you if you change the directory to the respective editor you want to use.

For Mac &崇高的文本3:

如果git config --global core.editor "subl -n -w"不起作用,使用这个git config命令:

$ git config --global core.editor "'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl' -n -w"

注意:它包含转义反斜杠。

在Windows上,如果你正在安装git,你可以选择其他编辑器并给出以下命令行。 C:\Program Files\Sublime文本3\sublime_text.exe -w Installer Image < / p >

我还没有看到任何关于Windows允许Git安装主动选择Sublime Text作为默认文本编辑器的更新实例,而没有原始覆盖代码的所有混乱和drang… Sublime Text显示为选项在(重新)安装Git < / p >

下面的MacOS(莫哈韦)为我工作为崇高的3:

git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"

对于Windows,试试这个

git config --global core.editor "'C:\Program Files\Sublime Text 3\sublime_text.exe' -w"