双击 .md 或 .mkd 或 .markdown 文件不会在 ReText 中打开它们,而是在默认文本编辑器中打开它们

10 lubuntu mime-type default-programs

我安装ReText 3.1.3 *和Lubuntu 12.10所有建议的依赖使用apt-get

如果我运行touch ~/Desktop/abcd.md,然后abcd.md在 PCManFM 或桌面上的图标上双击,文件将使用 Leafpad 打开。
如果我使用.mkd.markdown作为扩展名,也会发生同样的事情 。这些扩展名列在/usr/share/mime/packages/x-retext-markdown.xml.
在这三种情况下,当我右键单击它们并查看它们的属性时,它们都是“纯文本文档”。

如果我尝试touch ~/Desktop/abcd.rsttouch ~/Desktop/abcd.rest,双击时这些文件会在 ReText 中打开。这些扩展名存在于/usr/share/mime/packages/x-retext-rst.xml. 这些文件属于“reStructuredText 文档”类型。

下图说明了当我右键单击带有 .md、.mkd 或 .markdown 扩展名的文件(左上角)或带有 .rest 或 .rst 扩展名的文件(右上角)时看到的内容。下图是 PCManFM 对包含 .mkd 和 .rst 文件的文件的视图。

显示打开方式和文件管理器面板的图像合成

即使右键单击并进入Open With ...第二个Open With ...显示基本相同的东西。带有 .mkd 扩展名的文件被视为“纯文本”文件,而带有 .rst 扩展名的文件被视为重组文本文件:

用图片打开

虽然我很可能无意中在某处调整了某些东西,但有人可以为我设置正确的东西吗?

需要明确的是,这些文件是空的,因此它们的内容不是问题:

[11:10 AM] ~/Desktop $ file abcd*
abcd.markdown: empty
abcd.md:       empty
abcd.mkd:      empty
abcd.rest:     empty
abcd.rst:      empty
Run Code Online (Sandbox Code Playgroud)

/usr/share/applications/retext.desktop 的内容是:

[Desktop Entry]
Version=1.0
Name=ReText
Comment=Simple text editor for Markdown and reStructuredText
Categories=Office;TextEditor;
Exec=/usr/bin/retext %F
Type=Application
Icon=retext
MimeType=text/x-retext-markdown;text/x-retext-rst;
Run Code Online (Sandbox Code Playgroud)

***** ReText 已更新到 3.1.4,但问题仍然存在。

jok*_*ino 6

您可能可以尝试使用mimeopen,这是一种用于将特定 mimetype 与特定应用程序配对的工具。

使用扩展名为 .mkd 的文件作为 mimeopen 的参数。

举个例子:

$ mimeopen file.mkd 
Please choose a default application for files of type text/x-retext-markdown

    1) ReText  (retext)
    2) GNU Emacs 23  (emacs23)
    3) gedit  (gedit)
    4) LibreOffice Writer  (libreoffice-writer)
    5) Other...

use application #
Run Code Online (Sandbox Code Playgroud)

现在,输入应用程序的编号(在本例中为 1),所有 .mkd 文件现在应该在 Retext 中打开。