如何将Sublime Text 3设置为默认文本编辑器?

我想替换gedit,使用Sublime Text 3作为我的Ubuntu系统上所有文本文件的默认文本编辑器。您能告诉我如何进行此更改吗?

我不认为这应该是一个重复的问题。一个是关于图形用户界面文本编辑器,而另一个是关于命令行界面文本编辑器的问题。 - Matt
2个回答

更新

Sublime Text 4(版本号4000及以上)已发布,是使用Sublime Text的首选版本。Sublime官网上有安装说明,适用于多个流行的Linux发行版,如使用软件包仓库(aptpacmanyumdnfzypper)。然而,即使以这种方式安装,也不能自动将所有文本/源文件与Sublime关联,所以您可能仍然需要按照下面的说明进行操作。

以下说明假设您已经使用提供给Debian/Ubuntu系统的.deb文件或使用上述链接的apt仓库说明来安装Sublime Text。如果您下载了tarball并手动安装到/opt/sublime_text以外的位置,则需要根据您的安装位置更改下面的路径。


首先,确保 /usr/share/applications/sublime_text.desktop 存在(某些系统中为 sublime-text.desktop):

ls /usr/share/applications/sublime_text.desktop

然后,用Sublime打开/usr/share/applications/defaults.list
subl /usr/share/applications/defaults.list

在文件中搜索所有的 gedit 实例(在某些系统中为 org.gnome.gedit),将其替换为 sublime_text。保存文件,注销并重新登录,你就完成了。
如果由于某种原因,/usr/share/applications/sublime_text.desktop(或 sublime-text.desktop)不存在,请创建它:
sudo touch /usr/share/applications/sublime_text.desktop

在Sublime中打开它:

subl /usr/share/applications/sublime_text.desktop

并将以下内容粘贴入其中:

[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;

然而,如果您是使用从sublimetext.com下载的.deb文件安装Sublime Text,那么该文件应该已经存在。

这个桌面文件在我的系统上运行得很好,除了“新建窗口”或“新建文件”的右键操作会导致鼠标指针进入繁忙旋转模式。不过,一切似乎都正常工作... - Digikata
3我无法在Ubuntu 13.10上使用Sublime Text 2使其工作,我确保将sublime_text.desktop更改为sublime-text-2.desktop,有什么建议吗? - user3165887
11顺便说一下,它是Sublime Text而不是sublime_text,是从官方仓库安装的;14.04版本。 - Gundars Mēness
2我无法让这在Ubuntu 13.10上与Sublime Text 3一起工作,无论是使用sublime_text还是sublime-text - matanster
1适用于Ubuntu 14.10和Sublime Text 3。谢谢! - Oliboy50
我正在使用Ubuntu 14.10操作系统,搭配Sublime Text 3文本编辑器。为了使其正常工作,我输入了sublime-text(带有破折号)。 - Álvaro
由于某种原因,我在Ubuntu 14.10上无法完成它。最终,我从软件包管理器安装了Sublime,按照http://askubuntu.com/questions/172698/how-do-i-install-sublime-text-2-3进行操作。一切都顺利进行,并且我对桌面文件进行了比较,发现了一些更改。 - talsibony
我通过以下两个步骤解决了问题:1.)/usr/share/applications/目录下的文件名从sublime_text.desktop改为sublime-text.desktop2.) 删除了重复的rm ~/.local/share/applications/sublime_text.desktop - kleinfreund
我必须执行sudo subl /usr/share/applications/defaults.list并将所有出现的gedit.desktop更改为sublime-text.desktop。 - ViniciusArruda
在Ubuntu 20.04.4上运行得非常出色,谢谢! - Dawid Czerwinski
1如果你想要一行解决方案,可以使用以下命令:sudo sed -i "s/org.gnome.gedit/sublime_text/g" /usr/share/applications/defaults.list更新:自从Gnome 42版本起,“gedit”被替换为“TextEditor”,所以你可以使用以下命令更新这一行:sudo sed -i "s/org.gnome.TextEditor/sublime_text/g" /usr/share/applications/defaults.list - Kleber

一旦您安装了Sublime,请右键单击文本文件。转到“打开方式”选项卡。选择“显示其他应用程序”。然后,选择Sublime Text 3。

希望这可以帮助您!


1我一直在做这个,我希望能找到一个系统范围的改变,可以适用于所有文本文件。 - user193491
2我以为那样做会改变所有的文本文件...也许我错了,但我非常确定... - masulzen
如果列表中缺少某些内容,请根据此处提及的更改进行应用:https://askubuntu.com/a/755041/80283 - Muhammad Gelbana