Setting up sublimetext 3 as git commit text editor

34,422

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:

enter image description here

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.

Share:
34,422
Alan Quigley
Author by

Alan Quigley

Updated on July 08, 2022

Comments

  • Alan Quigley
    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
    Alan Quigley over 10 years
    Your answer is correct but it didn't solve my problem, I must have a wider configuration issue.
  • Anton
    Anton over 9 years
    what 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
    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
    Anton over 9 years
    when I am about to close it ask to save on some location. where do I save this file
  • 2540625
    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 run git 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
    2540625 over 9 years
    @diEcho, I've added an image above hopefully to help.
  • mainframer
    mainframer over 8 years
    No, I had to use this git config --global core.editor '/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl'
  • jrsala
    jrsala about 8 years
    Yup, 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
    Namrata Das about 8 years
    This is not the right answer. The second one should be accepted.
  • Daniël W. Crompton
    Daniël W. Crompton about 8 years
    Thanks for the pointer, corrected the command line options which I misses first time round.
  • layser
    layser over 7 years
    I have performed steps 1 and 2, but when I save and exit, the terminal just hangs...Why could that be?
  • Alex Guerra
    Alex Guerra over 7 years
    Add the -n option if you want it to open in a new window!
  • Andrew Magill
    Andrew Magill almost 7 years
    I have the same issue as @layser. git just sites there and does nothing after saving and closing sublimeText3.
  • Ronnie76er
    Ronnie76er over 5 years
    The 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.