2012-02-27 13 views
414

Rubyファイルを扱う際に、Sublime Text 2にタブごとに2つのスペースを常にインデントさせる方法はありますか?Sublime Textをタブごとに2つ分だけインデントするにはどうすればよいですか?

メニューのオプションview -> indentationの下にインデントを設定できますが、固執しません。新しいファイルを開いてタブを押すたびに、4つのスペースに戻ります。

+0

サブライムは、デフォルトでわずかに異なります。複数の空白を含むファイルを保存することもできますが、インデントとして認識すると、エディタは両方のスペースを自動的に削除します。 – William

答えて

749

すべてファイルの場合は、Preferences -> Settings - Default/Userにアクセスしてください。しかし、以下のいくつかのコメントが示すように、構文固有の設定では、選択した言語だけに制限される可能性があります。

この設定をRubyファイルに限定するには、まずエディタでRubyファイルを開いてからPreferences -> Settings -> More -> Syntax Specific -> Userに行きます。その種類のファイルを開くと、そのための正しい設定ファイルを開くには、好みに戻って行くことによって、他の構文の種類の

{ 
    "tab_size": 2, 
    "translate_tabs_to_spaces": true, 
    "detect_indentation": false 
} 

繰り返し:これはRuby.sublime-settings

保存これらの設定という名前の設定ウィンドウを開きます構文。

私はこれを編集してコメント内のリクエストごとに "detect_indentation"行を追加しました。以前はDefault/Userを使用してタブサイズを設定していましたが、タブ検出は必要ありませんでしたが、それはグローバル設定かタブでファイルを開いたことがほとんどないためわかりません。

再起動する必要はありませんが、再起動する必要はありません。

+11

ビルド2181から。[設定] - [設定] - [デフォルト/ユーザー]から設定を構成できます。それが意図されたアプローチであるようにユーザー設定に入れるのがベストです。 –

+19

@KevinJalbert(とDGM)実際には、それは構文固有の設定に置くべきです。そのため、Rubyファイルにのみ影響します。 –

+4

値が** true **で* not * "true"であることに注目してください。 – earthmeLon

156

強制的にファイル内で起こっている可能性のあるものを無視する場合は、設定にdetect_indentationを含める必要があります(ユーザー設定または構文固有の設定ごとのファイルタイプ):

{ 
    "tab_size": 2, 
    "translate_tabs_to_spaces": true, 
    "detect_indentation": false 
} 
+0

チップをありがとう! 'detect_indentation'がオフにならないと、私は非常に奇妙な動作をしていました(インデントを誤って検出していて、設定で指定したものの代わりに使用していました)。 – JacobEvelyn

+0

これをデフォルト設定で行うと、私にとってはうまくいった。設定が既に存在するかどうかを確認してください。それを追加して後でtrueと宣言した場合、trueのままになります。 – David

+2

デフォルト設定の変更は、サブライムテキスト更新などで上書きされることに注意してください。ユーザー設定の変更は上書きされません。 –

72

また、デフォルトでは「タブのサイズ4」と言い右側に崇高テキスト2()の下のバーにあるテキストリンクでこれを行うことをクリックすると、ウィンドウができ1つのスペースから最大8つのスペースまでタブサイズを設定するオプションが用意されており、タブをスペースとスペースに変換してタブに変換するオプションが含まれています。

は次のようになります。私は EditorConfig

Tab Options in Sublime Text 2

+3

素晴らしいヒントですが、それがスティッキーな設定になるかどうか分かりますか?たとえば、上部のメニューバーからインデントを変更するのは、現在の開いているファイルだけに適用され、他のものは元の問題でした。 – Mohamad

+5

**これは動作しません**。それは良いヒントですが、それは粘着性ではありません:ファイルを閉じたり開いたり(別のファイルを開く)、インデントを4つのスペースに戻します。 – Mohamad

+1

ええ、それは粘着性ではありません、ファイルごとです。タブ/スペースのデフォルト設定を設定するには、サブライムテキストの設定に移動する必要があります。 – Taskism

23

示唆することはできますか?ファイル.editorconfigを自動ロードして適用するには、extensionがあります。次に、プロジェクトのルートに作成します。あなたは、各プロジェクトや言語の異なるスタイルを使用する場合

.editorconfig

[*.rb] 
indent_style = tab 
indent_size = 2 

この方法では、あなたの設定は、プロジェクト固有およびファイル固有のものです。


ここに私自身の.editorconfigがあります。

# editorconfig.org 
root = true 

[*] 
indent_style = space 
indent_size = 2 
end_of_line = lf 
charset = utf-8 
trim_trailing_whitespace = true 
insert_final_newline = true 
+2

私はこれをグローバルな変更にしたくありませんでした。だから、これがうまくいった唯一の解決策でした。私はEditorConfigについていくつかの研究を行いました。そして、それをサポートするIDEにとってはとてもいいようです。 –

+1

私はすでにプロジェクトで.editorconfigを持っていて、それを知りませんでした。 (角張った音が1つを生成する) – uglycoyote

0

私はdetect_indentation行を追加するなど、これまでの回答に従いましたが、私のタブはまだ5つのスペースでした。それから、rubyファイルからPreferences -> Settings -> More -> Syntax Specific -> Userを選択すると、Ruby.sublime-settingsではなくRuby on Rails.sublime-settingsが開かれていることに気付きました。

私のRuby on Rails.sublime-settingsファイルの名前をRuby.sublime-settingsに変更しました。最後に、2つのスペースのタブが機能しました!私は先に進み、確かに同じ設定をRuby on Rails.sublime-settingsに入れました。

3

私はStupid Indentパッケージを使用します。

Install Package - >Stupid Indent

Preferences

- >Package Settings - >Stupid Indent - >Setting-Users

コピー設定(Ruby一部)へ。

{ 
    "configuration": 
    [ 
     { 
      "patterns": ["*.rb"], 
      "tab_size": 2, 
      "translate_tabs_to_spaces": true 
     } 
    ] 
} 
+0

これは私が必要とするものです:D –

関連する問題