例:2つのスペースインデントを持つドキュメントがあり、それに4つのスペースインデントを付けたい場合、Sublime Textエディタを使用して自動的に変換するにはどうすればよいですか。
これが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
設定は、View -> Indentation
設定とは対照的に、Sublimeにすべてのファイルでこれらの設定を遵守させるので、特に重要です。
気になる人は、Sublime -> Preferences -> Key Binding - User
に次のコードを貼り付けて、自動的にコードのインデントを変更するキーボードショートカット(YMMV)を定義することもできます。
[
{ "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],
私の考えでは、Magneよりも簡単な解決策を見つけました。
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や他のプラットフォームでは、あなたのfind
とcmd+f
ホットキーが何であれ、alt+enter
とselect all
を変更してください。
注:コード内に複数のスペースがある場合、この方法は「エラー」を起こしやすいです。したがって、Magneの方法よりも安全性は低くなりますが、(少なくとも私にとっては)高速です。
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" }
]
検索と置換の方が早い場合は、次のような正規表現の置換を使用できます。
検索(regex):(^|\G) {2}
("{2}"<space>{2}
の代わりに2つのスペースを書くことができます。わかりやすくするためにここで使用しています。)
4つのスペース、または\t
のような任意のものに置き換えます。
私はそれのためのプラグインを書きました。あなたはそれを見つけることができます ここ またはパッケージ管理で "ReIndent"を探してください。それはほとんどKyle Finleyが書いたのと同じことをしますが、2と4の間で変換するための近道とその逆で便利な方法で。
あなたはあなたのカスタムキーバインディングにこのコードを追加しなければなりません:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
ctrl + F12キーを押すと、ファイルのタブサイズが4になります。別のタブサイズが必要な場合は、 "値"の番号を変更するだけです。 Teフォーマットは単純なjsonです。
最近私は同様の問題に直面しました。私は崇高なエディタを使用していました。コードの問題ではなくエディタの問題です。
環境設定の以下の変更は私のために働きました。
Sublime Textメニュー - > Preferences - > Settings:Syntax-Specific:
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}