239

Example: If I have a document with 2 space indentation, and I want it to have 4 space indentation, how do I automatically convert it by using the Sublime Text editor?

4

10 に答える 10

545

Here's a neat trick in Sublime Text 2 or 3 to convert your indentation spacing in a document.

TL;DR:

Converting from 2 spaces to 4 spaces:

Ensure tab width is set to 2. Convert your 2-space indentation to tabs, switch to tab width 4, and then convert the indentation back to spaces.

The detailed description:

Go to:

  • View -> Indentation

It should read:

  • Indent using spaces [x]
  • Tab width: 2

Select:

  • Convert Indentation to Tabs

Then Select:

  • Tab width: 4
  • Convert Indentation to Spaces

Done.

于 2013-02-08T13:07:15.437 に答える
75

私は実際に、次のようにユーザー設定を定義する方が私の正気にとってより良いことを発見しました:

"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],
于 2014-01-30T15:18:22.623 に答える
5

検索と置換を使用する方が速い場合は、次のように正規表現の置換を使用できます。

検索 (正規表現): ( " {2}"(^|\G) {2}の代わりに2 つのスペースを書くことができます。ここではわかりやすくするために使用しています。) <space>{2}

4 つのスペース、または のように必要なものに置き換えます\t

于 2014-01-29T15:37:48.963 に答える
2

このコードをカスタム キー バインドに追加する必要があります。

{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }

ctrl+f12 を押すと、ファイルがタブ サイズ 4 に再インデントされます。別のタブ サイズが必要な場合は、「値」の数値を変更するだけです。Te 形式は単純な json です。

于 2017-04-18T15:50:35.563 に答える
0

最近、私は同様の問題に直面しました。私は崇高なエディタを使用していました。コードの問題ではなく、エディターの問題です。

以下の環境設定の変更は私にとってはうまくいきました。

Sublime Text メニュー -> 設定 -> 設定: 構文固有:

{
    "tab_size": 4,
    "translate_tabs_to_spaces": true
}
于 2019-02-11T07:47:31.730 に答える