I'd like to replace gedit, and use Sublime Text 3 as my default text editor for all text files on my Ubuntu system. Can you let me know how do I go about making this change?

  • I don't believe this should be a duplicate. One is asking about GUI text editors while the other is asking about CLI text editors.
    – Matt
    Feb 5, 2018 at 18:53

2 Answers 2



Sublime Text 4 (builds 4000 and higher) has been released, and is the preferred version of Sublime Text to use. There are instructions on Sublime's website for installation using the package repositories (apt, pacman, yum, dnf, and zypper) for a number of popular Linux distributions. However, even installing in this way doesn't automagically make all text/source files open with Sublime, so you'll likely still need to follow the directions below.

These instructions assume that you have installed Sublime Text either using the .deb file provided for Debian/Ubuntu-based systems, or using the apt repository instructions linked above. If you downloaded the tarball and installed it manually to a location other than /opt/sublime_text, you will need to change the paths below to your install location.

First, make sure that /usr/share/applications/sublime_text.desktop exists (sublime-text.desktop on some systems):

ls /usr/share/applications/sublime_text.desktop

Then, open /usr/share/applications/defaults.list with Sublime:

subl /usr/share/applications/defaults.list

Search for all instances of gedit (org.gnome.gedit on some systems) and replace them with sublime_text. Save the file, log out and back in, and you should be all set.

If for some reason /usr/share/applications/sublime_text.desktop (or sublime-text.desktop) doesn't exist, create it:

sudo touch /usr/share/applications/sublime_text.desktop

Open it in Sublime:

subl /usr/share/applications/sublime_text.desktop

and paste the following into it:

[Desktop Entry]
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F

[Desktop Action Window]
Name=New Window
Exec=/opt/sublime_text/sublime_text -n

[Desktop Action Document]
Name=New File
Exec=/opt/sublime_text/sublime_text --command new_file

However, if you installed Sublime Text using the .deb file downloaded from sublimetext.com, the file should already exist.

  • 3
    I can not get this to work in Ubuntu 13.10 with Sublime Text 2, I did make sure that sublime_text.desktop was changed to reflect sublime-text-2.desktop, any suggestions? Mar 5, 2014 at 22:41
  • 11
    btw, its sublime-text not sublime_text, installed from official repo; 14.04 Apr 25, 2014 at 10:23
  • 2
    I can not get this to work in Ubuntu 13.10 with Sublime Text 3, not with sublime_text nor sublime-text.
    – matanox
    Jul 20, 2014 at 15:27
  • 1
    Works in Ubuntu 14.10 & Sublime Text 3. Thanks!
    – Oliboy50
    Nov 3, 2014 at 12:24
  • 1
    if you want a only line solution, you can use: sudo sed -i "s/org.gnome.gedit/sublime_text/g" /usr/share/applications/defaults.list. UPDATE: Since Gnome 42 "gedit" was replaced by "TextEditor", so you can update the line with: sudo sed -i "s/org.gnome.TextEditor/sublime_text/g" /usr/share/applications/defaults.list
    – Kleber
    May 3, 2023 at 15:45

By using the following steps you can set Sublime as the default editor- :

  1. Just right-click on any text file
  2. go to "properties"
  3. then go to "open with"
  4. select sublime-text from the lists of applications
  5. the click on "set as default" tab.

Now your default browser is sublime-text. You can set any app as your default browser by following above method.

  • 1
    I've been doing that, I was hoping to find out if there were a system wide change I could make for all text files.
    – user193491
    Dec 29, 2013 at 12:58
  • 2
    I thought that that would change it for all of the txt's... maybe I'm wrong, but I was pretty sure...
    – masulzen
    Dec 29, 2013 at 16:47
  • If it's missing from the list, apply the changes mentioned here: askubuntu.com/a/755041/80283 Jul 18, 2018 at 11:46