web-dev-qa-db-ja.com

Sublime Text 2でデフォルトの構文を異なるファイルタイプに設定する

Sublime Text 2で特定のファイル拡張子のデフォルトのファイルタイプを設定する方法を教えてください。具体的には、*。cfgファイルにデフォルトでIni構文の強調表示を設定したいのですが、このカスタム設定を作成する方法を理解できないようです。

715
keiththomps

現在のバージョンのSublime Text 2(Build:2139)では、メニューバーのオプションを使って、特定のファイル拡張子のすべてのファイルに構文を設定できます。デフォルトを設定したい拡張子を持つファイルを開き、次のメニューに移動します:View -> Syntax -> Open all with current extension as... ->[your syntax choice]

2012年6月28日更新: / Sublime Text 2の最近のビルド(少なくともBuild 2181以降)では、ウィンドウの右下隅にある現在の構文タイプをクリックして構文を設定できます。これは、メニューの上部にOpen all with current extension as...へのオプションで構文選択メニューを開きます。

更新2016-04-19: 現在、これはSublime Text 3でも機能します。

1564
Colin R

ST2では、あなたがインストールできるDefault FileTypeと呼ばれるパッケージがあります。 https://github.com/spadgos/sublime-DefaultFileType の詳細情報。

21
trejox

ファイルの内容に基づいて構文の強調表示をオンにすることができます。

たとえば、私のMakefileの拡張子に関係なく、最初の行は次のようになります。

#-*-Makefile-*- vim:syntax=make

これはvimのような他の編集者にとっての典型的なやり方です。

しかし、これが機能するためにはMakefile.tmLanguageファイルを修正する必要があります。

  1. 次の場所にあるファイルを見つけます(UbuntuのSublime Text 3用)。

    /opt/sublime_text/Packages/Makefile.sublime-package
    

これは実際にはZipファイルです。それをコピーし、最後に.Zipで名前を変更して、そこからMakefile.tmLanguageファイルを抽出します。

  1. "fileTypes"セクションの後に "firstLineMatch"キーと文字列を追加して、新しいMakefile.tmLanguageを編集します。以下の例では、最後の2行は新しいものです(あなたが追加する必要があります)。 <string>セクションは正規表現を保持します。これにより、最初の行に一致するファイルの構文の強調表示が有効になります。この式は2つのパターンを認識します: "-*-Makefile-*-"と "vim:syntax=make"です。

    ...
    <key>fileTypes</key>
    <array>
        <string>GNUmakefile</string>
        <string>makefile</string>
        <string>Makefile</string>
        <string>OCamlMakefile</string>
        <string>make</string>
    </array>
    
    <key>firstLineMatch</key>
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string>
    
  2. 変更したMakefile.tmLanguageをユーザー設定ディレクトリに配置します。

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage
    

最初の行の規則に一致するすべてのファイルは、開いたときに構文の強調表示をオンにするはずです。

5
elomage