Sublime Textで、RubyとPythonのインデント幅をそれぞれ対応させる

  • RubyRailsの影響かなんか知らないけど、インデントがスペース2個
  • それに対して、Pythonはスペース4個分である。
  • 一応両方の言語触るけど、どちらかというと、RubyよりなのでSublimeのデフォルト設定はスペース2個分で設定している。具体的には以下みたいな感じのsettingしてる

Sublimeのメニューから、 - Preference -> Setting -> Default

    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    "use_tab_stops": true,


  • これで問題なのは、Rubyのインデント幅に合わせてしまってPythonまで2幅にインデントされてしまうことだ。
  • Pep8なんかは4スペ強制だし、基本Pythonは4スペがデフォルトみたいな空気感はある。というかインデントスコープな言語はだいたいそんな感じ。



  • そこで、
/Users/#{user_name}/Library/Application Support/Sublime Text 2/Packages/User

配下に新たに、Python.sublime-settingsを作成して以下のようなファイルを保存する。
- Python.sublime-settings

{
  "tab_size": 4,
  "translate_tabs_to_spaces": true,
  "detect_indentation": true,
  "use_tab_stops": true
}


その後、Pythonのファイルを開くと、ちゃんとスペース4つでインデントされるはずである。 多分、他の言語でも使えると思うので、個別に設定したければ任意のHoge.sublime-settingsを設定すれば良いはず。

参考


Sublime Text2のインデントに関して - 学んだことをメモする日記
http://grimoire.hatenablog.com/entry/2012/05/16/170303