Setting up sublimetext 3 as git commit text editor
Solution 1
You can solve this by putting in a full path
git config --global core.editor "/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -n -w"
Source: OS X Command Line
EDIT: If the name of the app is not Sublime Text.app
you will want to replace that with the correct name.
Solution 2
For what it's worth, here's how I solved it:
1) Run in Terminal:
sudo ln -s /Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl
This adds a subl
alias to /usr/local/bin/
pointing to Sublime Text 3 app’s binary file. Now running subl
in Terminal will launch Sublime Text 3 app.
2) Run in Terminal:
git config --global core.editor "subl -n -w"
This adds editor = subl -n -w
to the [core]
section of the ~/.gitconfig
file. Now running git commit
in Terminal will launch Sublime Text 3 app (subl
) in a new window (-n
), and the command line will wait (-w
) until the commit message is saved and closed.
Image of final workflow added in response to clarifying question in comments below:
Official Sublime Text 3 doc: http://www.sublimetext.com/docs/3/osx_command_line.html
Solution 3
Sublime Text 2
git config --global core.editor "'c:/program files/sublime text 2/sublime_text.exe' -n -w"
Sublime Text 3 ( Tested this on my Windows 10 MS Surface Pro 3 )
git config --global core.editor "'C:/Program Files/Sublime Text 3/subl.exe' -n -w"
You can also add following line to your .gitconfig file
[core]
editor = "'C:/Program Files/Sublime Text 3/subl.exe' -n -w"
Hope it helps.
Solution 4
I found out that I receive messages like:
subl -n -w: subl: command not found.
error: There was a problem with the editor 'subl -n -w'
error: There was a problem with the editor 'subl'
even though Sublime works well and can be launched from Terminal.
To fix it, run the following in Terminal:
git config --global core.editor " 'XXXXX' -n -w"
while 'XXXXX' is the path which Sublime is launched from.
It could be /usr/bin/subl
as Pranav Misra mentioned, or /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl
, or whatever you put in the symlink you have created.
Solution 5
I'm new to the community, and apologize if the answer is not in the proper format.
For me the following things worked for Sublime 3 git config --global core.editor " '/usr/bin/subl' -n -w"
Thank you all.
Alan Quigley
Updated on July 08, 2022Comments
-
Alan Quigley almost 2 years
I'm having trouble setting up sublime as my git commit message editor.
Using:
git config --global core.editor "subl"
Error: error: cannot run subl: No such file or directory error: unable to start editor 'subl' Please supply the message using either -m or -F option.
subl work perfectly otherwise.
-
Alan Quigley over 10 yearsYour answer is correct but it didn't solve my problem, I must have a wider configuration issue.
-
Anton over 9 yearswhat it means
and the command line will wait (-w) until the commit message is saved.
I write comment in sublime open file and press W but do not ends. how to do it? -
2540625 over 9 years@diEcho, just save and close the Sublime window containing your commit message, and switch to Terminal again if you aren't switched there automatically. The
-w
at the end of the string in the Terminal command is an optional flag to trigger a 'wait'—you don't need to type it again. -
Anton over 9 yearswhen I am about to close it ask to save on some location. where do I save this file
-
2540625 over 9 years@diEcho, it shouldn't ask where to save. The file should automatically be named
COMMIT_EDITMSG
and its location should automatically be.git
(visible on Mac by command-clicking the filename in the Sublime window's title bar). All that should be necessary (once steps 1 & 2 above are complete) is to rungit commit
in Terminal, write your commit message in the file that auto-launches in Sublime, save that Sublime file, and close that Sublime window. Your file in Sublime was automatically created, yes? And your window in Sublime was automatically launched? -
2540625 over 9 years@diEcho, I've added an image above hopefully to help.
-
mainframer over 8 yearsNo, I had to use this
git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
-
jrsala about 8 yearsYup, I was struggling with escape sequences and this solved my problem. I don't know whether the space character right after the
"
is necessary, and I don't want to right now. -
Namrata Das about 8 yearsThis is not the right answer. The second one should be accepted.
-
Daniël W. Crompton about 8 yearsThanks for the pointer, corrected the command line options which I misses first time round.
-
layser over 7 yearsI have performed steps 1 and 2, but when I save and exit, the terminal just hangs...Why could that be?
-
Alex Guerra over 7 yearsAdd the -n option if you want it to open in a new window!
-
Andrew Magill almost 7 yearsI have the same issue as @layser. git just sites there and does nothing after saving and closing sublimeText3.
-
Ronnie76er over 5 yearsThe difference that I've noticed is whether sublime is already running or not. If it's not running, it's possible that several windows got spawned (from a previous session), and you have to close all of them to get it to save. If it is already running, it creates a new process with one window, and behaves how you'd expect.