名前に基づいてファイルを開くアプリケーションを定義したいと思います。
たとえば、崇高なまたは原子炉を開くかGemfile
というファイルが必要です。Dockerfile
MIMEタイプが利用可能であることを知っていますが、両方のファイルがtext/plain
。
それとも無言劇のジャンルがありますかGemfile
?
答え1
ファイル名ベースの一致は、MIMEタイプを定義する最も簡単な方法の1つです。 GemfilesやDockerfilesの公式MIMEタイプはありませんが、見てみると、多くの非公式MIMEタイプが一般的に名前を付けられていることが/usr/share/mime/packages/
わかります。<sub-class-of type="text/plain"/>
text/x-*
text/x-python
text/x-markdown
カスタムMIMEタイプを追加するのは通常簡単です。特にファイル名のみが使用できる場合にはさらにそうです。
現在のmimetypeを観察すると、両方Dockerfile
ともGemfile
次のようになりますtext/plain
。
$ xdg-mime query filetype Dockerfile
text/plain
$ xdg-mime query filetype Gemfile
text/plain
またはという名前のtext/x-dockerfile
ファイルの新しいMIMEタイプを作成し、ファイルの新しいMIMEタイプを生成します。これを行うには、次の内容で名前付き XML ファイルを作成します。Dockerfile
*.dockerfile
text/x-gemfile
Gemfile
x-dockerfile.xml
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-dockerfile">
<comment>Dockerfile</comment>
<sub-class-of type="text/plain"/>
<glob pattern="Dockerfile"/>
<glob pattern="*.dockerfile"/>
</mime-type>
</mime-info>
そして、x-gemfile.xml
次の内容で名前が付けられた別のファイルは次のとおりです。
<?xml version="1.0"?>
<mime-info xmlns='http://www.freedesktop.org/standards/shared-mime-info'>
<mime-type type="text/x-gemfile">
<comment>Gemfile</comment>
<sub-class-of type="text/plain"/>
<glob pattern="Gemfile"/>
</mime-type>
</mime-info>
次に、mimetypeをインストールします。ローカルユーザーの場合は、次のコマンドを実行します。
xdg-mime install --mode user x-dockerfile.xml
xdg-mime install --mode user x-gemfile.xml
update-mime-database ~/.local/share/mime
システム全体にインストールするには、次のコマンドを実行します。
xdg-mime install --mode system x-dockerfile.xml
xdg-mime install --mode system x-gemfile.xml
update-mime-database /usr/share/mime
検出されたMIMEタイプが変更されたことを確認しました。
$ xdg-mime query filetype Dockerfile
text/x-dockerfile
$ xdg-mime query filetype Gemfile
text/x-gemfile
これで、必要なテキストエディタに割り当てることができます。