回答:
ドキュメントのインデント間隔を変換するSublime Text 2または3の巧妙なトリックを以下に示します。
TL; DR:
2つのスペースから4つのスペースへの変換:
タブ幅が2に設定されていることを確認します。2スペースのインデントをタブに変換し、タブ幅4に切り替えてから、インデントをスペースに戻します。
詳細な説明:
移動:
View -> Indentation
それは読むべきです:
Indent using spaces [x]
Tab width: 2
選択する:
Convert Indentation to Tabs
次に選択:
Tab width: 4
Convert Indentation to Spaces
できました。
私は実際に、ユーザーの好みを次のように定義するほうが私の正気にとってはより良いことを発見しました:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
detect_indentation: false
設定とは対照的に、Sublimeがすべてのファイルでこれらの設定を尊重するように強制するため、これは特に重要View -> Indentation
です。
凝ったものにしたい場合は、次のコードをに貼り付けて、コード(YMMV)を自動的に再インデントするキーボードショートカットを定義することもできますSublime -> Preferences -> Key Binding - User
。
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
空白を視覚化するには:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
私の考えでは、マグネよりも簡単な解決策が見つかりました。
Macの場合:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Windowsや他のプラットフォームの変化にcmd+f
とalt+enter
何であなたfind
とselect all
ホットキーがあります。
注:コード内に複数のスペースがある場合、このメソッドは「エラー」を起こしやすくなります。したがって、マグネの方法ほど安全ではありませんが、(少なくとも私にとっては)高速です。
RubyFormat
、目的のタブサイズを設定して、コードを再フォーマットするだけです。それの場合RubyFormat
でしょうcmd+shift+R
。
提案の多くは2-> 4スペースに変換するときに機能します。4-> 2に変換すると、いくつかの問題が発生しました。
これが私が最終的に使用したものです:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
このコードをカスタムキーバインディングに追加する必要があります。
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
ctrl + f12を押すと、ファイルのタブサイズが4にインデントされます。別のタブサイズが必要な場合は、「値」の数値を変更するだけです。Te形式は単純なjsonです。
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
私がした最も簡単なことは、
インデントをタブに変更しました
そしてそれは私の問題を解決しました。
同じことができます
スペースへ
あなたの必要性と同様に。
同じのスナップショットについて言及しました。