Setting Sublime Text 3 as Default Editor, Ubuntu
I admit it - sometimes, I use my file explorer to dig through directories. While I have Sublime Text symlink'd as subl
for easy access through my terminal, whenever I open a ['txt', 'rb', 'js'] file from explorer, the default text editor is gedit. Gedit, a plain text editor, isn't terrible. But it also isn't my full featured, highly configurable, go-to Sublime Text 3.
Setting Sublime Text as Default
This is specific to Ubuntu 14.04 and Sublime Text 3, but it will only take minor edits to configure for Ubuntu >14.04 and/or ST2.
One:
Set up a sublime.desktop
file in ~/.local/share/applications
Sublime comes with this file in the same directory as the sublime_text
executable (the sublime_text application directory), so you may need to change the first argument to match your file structure.
$ cp /opt/sublime_text/sublime_text.desktop ~/.local/share/applications/sublime_text.desktop
Or more generally
$ cp SUBLIME_TEXT_APPLICATION_PATH/sublime_text.desktop ~/.local/share/applications/sublime_text.desktop
If you don't have, can't find, or just "???" a sublime.desktop file, below is mine. Copy it into a new file ~/.local/share/applications/sublime.desktop
.
You need to change any instance of /opt/sublime_text/sublime_text
to whatever command you use to call Sublime from your terminal (such as subl
) or the path straight to the executable. See Optional Task below if you don't have a command to call ST3 from your terminal.
[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;
Two:
Change your defaults list to set your text editor to Sublime.
$ sudo sed -i 's/gedit/sublime_text/g' /etc/gnome/defaults.list
This command searches the file /etc/gnome/defaults.list
, and finds and replaces instances of gedit
with sublime_text
. If you prefer, you can just as easily open the file and edit it yourself.
Three:
Have an age appropriate relaxing beverage. You've earned it.
Optional Task: Set up a Symlink for Sublime
After this, you will be able to open files and directories in Sublime Text from your command line. You need to know the location of the actual Sublime Text executable.
Use $ sudo ln -s [PROGRAM] [PATH_OF_NEW_LINK]
to place the link in your /usr/bin
directory. The -s
is for "symbolic link". Whatever you name the link, that will be the command to call from terminal
For me, this looked like
$ sudo ln -s /opt/sublime_text/sublime_text /usr/bin/subl
Now I can type
$ subl awesome-file.rb
and my awesome file opens in Sublime Text.
Happy Codings.
Written: December 19, 2017
Last updated: January 12, 2025