20

私は最近、SublimeText2を使い始めました。なんて素晴らしいエディターでしょう。これはRubyコードを強調表示するのに最適ですが、私のGemfileは強調表示されません。

それを行う方法はありますか?

この要点を見つけましたが、使い方の説明がありません。

4

4 に答える 4

34

少なくとも3つのオプションがあります。

  1. 構文を手動で切り替えます(好ましくありませんが、簡単です。説明は不要です)
  2. "Gemfile"Ruby構文ファイルのリストに追加する
  3. リンク先のプラグインを使用して、そのパッケージを作成します

1.説明はありませんが、便利なトリック

キーストロークをバインドして、マウスに移動せずに構文を設定できます。

Ctrl-Opt-Spaceユーザーキーバインディングに以下を追加して、構文をに変更しました。

[
  { "keys": ["ctrl+alt+space"], 
    "command": "show_overlay", 
    "args": { "overlay": "command_palette", "text": "Set Syntax: " } }
]

"Gemfile"2.Ruby構文ファイルのリストに追加します

  • Linux: ~/.config/sublime-text-2/Packages/Ruby/Ruby.tmLanguage
  • OS X: ~/Library/Application Support/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage
  • ウィンドウズ: %APPDATA%/Sublime Text 2/Packages/Ruby/Ruby.tmLanguage

Preferences -> Browse Packagesメニューオプションを使用してRubyパッケージにアクセスすることもできます。ファイルに入ると、それは明らかです。それは<array>、Rubyに見えるファイル名を持つ要素です。追加<string>Gemfile</string>すれば、すべて設定できます。

アップグレード時に設定が上書きされる可能性があります。それがST2でどのように機能するかはわかりません。スニペットのように、コードを介して実行する方がクリーンな場合があります。

3.リンクしたスニペットを使用する

より多くの作業(および1つの構文エラーの修正)。にディレクトリを作成して手動で実行するかPackages(場所については上記を参照)、実際のパッケージを作成してST2にインストールさせることができます。

と呼ばれるテストパッケージを作成"Syntax"し、スニペットをコピーして、ST2を再起動し、期待どおりに機能するように開きましたGemfile。修正には、追加のコロン(新しい要点)が必要でした。

elif name[-3] == "erb": # Needed a semi-colon here.
  set_sintax(view, "HTML (Rails)", "Rails")
于 2011-12-22T18:03:08.850 に答える
5

ここにいるがSublimeText3を使用している場合は、パッケージ内の「Ruby構文ファイルのリスト」を見つけることができない場合があります。

オンラインで見つかった他のほとんどのソリューションは私を混乱させました。

これを修正するには、Sublime Text 3でファイルを開いたときに、右下隅のファイル拡張子メニュー項目でGemfileをRubyに手動で変更しました(これまでファイルを開くたびに行っていました)。

rubyを選択したら、[設定]->[設定]-[その他]->[構文固有]-[ユーザー]に移動します。

{
  "extensions":
  [
    "Gemfile",
    "Gemfile.lock"
  ]
}

構文固有のユーザーに移動すると、ファイルの構文が強調表示されている言語に固有のファイルが開きます。ファイルをデフォルトのファイルに戻し(私の場合は「Rd(R Documentation).sublime-settings」)、その構文強調表示ファイルからGemfileを削除する必要がある場合があります。

Ubuntuでは、これらのファイルは次の場所に保存されます。

~/.config/sublime-text-3/Packages/User
于 2015-01-06T23:25:41.030 に答える
2

ST2用のDetectSyntaxプラグインは、ファイルを強調表示するためのより包括的なソリューションを提供します-ルールに基づいてファイルを強調表示できます。.rbRailsファイル、拡張子として使用する他のファイル、および標準のrubyファイルの違いを理解するのに十分賢いです。

標準のルールには、、、GemfileおよびRubyforSyntaxのフォーマットに一致するその他のルールが含まれます。RakefileGuardfile

GitHubのDetectSyntaxを参照してください。

于 2012-06-07T05:59:43.227 に答える
-1

これは、User /フォルダーにあるHTML.tmLanguageファイルをコピーすることで実現できます。これにより、更新によって上書きされなくなります。

于 2012-04-11T15:44:42.557 に答える