我經(jīng)常要把 2 空格縮進的源代碼轉(zhuǎn)換為 4 空格縮進的源代碼(也許你的需求是反過來的)。之前的做法是在 View/Indentation
菜單中先把縮進轉(zhuǎn)換為 tab, 再設(shè)定新的 tab width
等于 4 的方式來實現(xiàn)。這樣做需要選擇兩次菜單才能完成,做得多了也是蠻費盡的十嘿。研究了一下拄衰,可以通過 Sublime Marco (宏) 來完成裆馒。
最終的宏定義
[
{ "args": null, "command": "select_all" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 4 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" }
]
這是一個 JSON 文件榛了,建議保存在 ~/Library/Application Support/Sublime Text 3/Packages/User
下矢劲,起名為 space2To4.sublime-macro
啊胶。
該宏的內(nèi)容我逐行解釋一下:
- 選擇全部文檔甸各。
- 將當(dāng)前的
tab_size
設(shè)定為 2 空格,因為缺省可能不是這個值焰坪,下一步轉(zhuǎn)換需要這個值趣倾。 - 將當(dāng)前文檔的縮進從空格轉(zhuǎn)為 tab(每兩個空格被視為一個 tab)。
- 將
tab_size
設(shè)定為 4 空格某饰。 - 將 tab 轉(zhuǎn)換回空格儒恋,由于上一步的
tab_size
設(shè)定為 4 空格,因此這一步也會轉(zhuǎn)換為 4 空格黔漂。
到這里诫尽,你已經(jīng)可以通過 Sublime 菜單 Tools/Macros/user
選擇 space2To4
來執(zhí)行了。
綁定熱鍵
綁定熱鍵的話會更加方便炬守。
選擇 Sublime 菜單 Preferences/Key Binding
, 編輯該文件牧嫉,增加一行:
{ "keys": ["f12"], "command": "run_macro_file", "args": {"file": "Packages/User/space2To4.sublime-macro"} }
這樣按下功能鍵 f12
就可以執(zhí)行這個宏了。
知道了原理减途,你可以在空格和 tab 之間自由轉(zhuǎn)換酣藻。