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

我有一个问题设置崇高的文字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并input:

 README.markdown --edit 

在记事本中打开自述文件,而不是崇高文本。

有没有人有任何想法我做错了,或者我怎么能解决这个问题?

视窗

崇高的文本2(Build 2181)

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

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

崇高文本3(Build 3065)

崇高文本3 (内部版本3065)添加了subl.exe命令行助手。 使用subl.exe -h作为您可用的选项。 我在我的Sublime Text用户设置中设置了hot_exit: trueremember_open_files: true 。 我发现以下gitconfiguration为我工作的很好。

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

Mac和Linux

通过在terminal中键入以下命令,将Sublime设置为Git的编辑器:

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


有了这个Gitconfiguration,新的选项卡在我的编辑器中打开。 我编辑我的提交信息,保存标签( Ctrl + S )并closures它( Ctrl + W )。

Git会一直等到选项卡closures才能继续工作。

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

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

对于在[core]下的文件〜/ .gitconfig中的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'. 

cygwin / zsh中对我有用的东西:

在/ usr / local / bin下创buildsubl_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和以下configuration, 如果在closuresgit commit的注释文件时没有任何反应:

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

如果在closuresSublime中的COMMIT_EDITMSG注释文件时,git提交没有完成,我发现这可能是因为您正在以pipe理员模式运行CMD(并且已经以非pipe理模式打开了Sublime文本)。 我遇到了同样的问题,当我以正常模式 启动我的CMD时,它对我有用。

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

我只是在PowerShell(Windows的命令行工具,也可以用作GithubforWindows的默认命令行)

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

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

确保你机器上的崇高目录是正确的。 您也可以在这里看到configuration细节。

现在,我可以通过PowerShell命令编辑带有Sublime Text 2的文件,只需input:

 subl filename 

希望这是有用的…

我今天晚上在Windows下面git编辑器遇到了同样的问题,最后我明白了。

您需要使用bash语法设置编辑器path, 并使用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用户,那么这里是如何:

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

我只是因为某种原因而苦苦挣扎,上面的例子都没有为我工作。 但是,这是我的解决scheme:

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

你特别需要在path的“ $* ”和参数结尾的$* ,全部在" "

好吧,我甚至在将它设置为我的core.editor之后,从gitbash调用记事本++时遇到了一些麻烦。

我通过在我的gitbash安装目录中将下面的行追加到我的.bashrc文件中解决了这个问题。

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

所以,我可以用别名“npp”来调用记事本++。 我觉得这可以帮助你,如果你改变目录到相应的编辑器,你想使用。

对于MAC用户,我可以说崇高使用以下内容:

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

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

现在可以添加这个configuration:

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

l1会告诉从第一行开始。

对于Windows 7,我发现了以下解决scheme:

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

对于MacSublime Text 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" 

注意:它不包含逃避反斜杠。