在 Ubuntu 14.04 中,我有一个包含一组 LESS 文件的目录,所有文件都带有.less
扩展名。除三个文件外,所有文件在“属性”>“基本”下都显示 mime 类型plain text document (text/plain)
。其他三个文件报告为,C source code (text/x-csrc)
这意味着它们具有不同的图标,更烦人的是,它们使用不同的默认应用程序打开。
我把问题缩小到了文件内容。似乎所有以 CSS 注释块 ( /* Comment */
) 或 LESS 内联注释 ( // Comment
) 开头的文件的 MIME 类型都是text/x-csrc
。
我尝试编辑该/etc/mime.types
文件以使系统能够识别该扩展。首先,我添加了 less 作为扩展text/css
:
text/css css less
然后我在命令行上运行sudo update-mime-database /usr/share/mime
,但没有成功,文件仍然有错误的 mime 类型,所以我尝试text/plain
以相同的方式将其添加为扩展名,但同样没有结果。所以我尝试添加一种新的 mime 类型:
text/less less
我再次运行该update-mime-database
命令但仍然没有运气。
我怎样才能让 Ubuntu 根据文件的扩展名而不是文件内容来处理文件?
答案1
将以下内容保存为例如less.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-less">
<comment>LESS file</comment>
<glob pattern="*.less"/>
</mime-type>
</mime-info>
然后打开终端并运行
xdg-mime install --novendor less.xml
现在所有具有扩展名的文件.less
都应具有 MIME 类型text/x-less
。
看共享 MIME 信息数据库如果您想了解有关 MIME 类型如何定义的更多信息。