我如何使Sublime Text成为Git的默认编辑器?
我有一个问题设置崇高的文字2作为core.editor
与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并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: true
和remember_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文件:
-
cd ~
-
ls -la
-
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"
对于Mac & Sublime 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"
注意:它不包含逃避反斜杠。