94

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?

1
  • 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

143

UPDATE

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]
Version=1.0
Type=Application
Name=Sublime Text
GenericName=Text Editor
Comment=Sophisticated text editor for code, markup and prose
Exec=/opt/sublime_text/sublime_text %F
Terminal=false
MimeType=text/plain;
Icon=sublime-text
Categories=TextEditor;Development;
StartupNotify=true
Actions=Window;Document;

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

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

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

10
  • This desktop file works great on my system except that the "New Window" or "New File" right click actions cause the mouse cursor to go into a busy-spin mode. Everything seems to work normally though...
    – Digikata
    Feb 18, 2014 at 23:44
  • 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.
    – matanster
    Jul 20, 2014 at 15:27
  • 1
    Works in Ubuntu 14.10 & Sublime Text 3. Thanks!
    – Oliboy50
    Nov 3, 2014 at 12:24
-1

Once you have Sublime installed, right-click on a text file. Go to the "Open With" tab. Select "Show other applications." Then, select Sublime Text 3.

Hope this helps!

3
  • 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