示例:如果我有一个有2个空格缩进的文档,我想让它有4个空格缩进,我如何通过使用Sublime文本编辑器自动转换它?
在Sublime Text 2或3中有一个巧妙的技巧来转换文档中的缩进间距。
TL;博士:
将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
完成了。
在我心中,我找到了一个比《曼格尼》更简单的解决方案:
在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和select all热键改变cmd+f和alt+enter。
find
select all
cmd+f
alt+enter
注意:如果在代码中有多个空格,则此方法容易出现“错误”。因此,这种方法不如马格尼的方法安全,但速度更快(至少对我来说)。
如果你发现搜索和替换使用起来更快,你可以像这样使用正则表达式替换:
Find (regex): (^|\G) {2}(而不是“{2}” <space>{2},你可以只写两个空格。为了清楚起见,在这里使用它。)
(^|\G) {2}
<space>{2}
替换为4个空格,或者任何你想要的,比如\t。
\t
实际上,我发现这样定义用户偏好对我的理智更好:
"translate_tabs_to_spaces": true, "tab_size": 2, "indent_to_bracket": true, "detect_indentation": false
detect_indentation: false尤其重要,因为它迫使Sublime在每个文件中都尊重这些设置,而不是View -> Indentation设置。
detect_indentation: false
如果你想要更花哨,你也可以通过在Sublime -> Preferences -> Key Binding - User中粘贴以下内容来定义一个键盘快捷键来自动重新缩进你的代码(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],
而许多建议工作时,转换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" } ]
我为它写了一个插件。你可以找到它在这里或在包控件中查找“ReIndent”。它的功能与Kyle Finley所写的基本相同,但以一种方便的方式使用快捷键在2和4之间进行转换,反之亦然。
您必须将以下代码添加到您的自定义键绑定:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
通过按ctrl+f12,它将重新缩进你的文件TAB大小为4。如果你想要一个不同的标签大小,你只需改变“值”的数字。Te格式是一个简单的json。
我做的最简单的事就是,
将缩进改为制表符
它解决了我的问题。
你也可以这样做,
到空间
也可以根据你的需要。
提到的快照一样。
下面对偏好设置的改变对我有用。
崇高的文本菜单->首选项->设置:语法特定:
{ "tab_size": 4, "translate_tabs_to_spaces": true }
我还遵循了Josh Frankel的建议,创建了Sublime Macro +添加键绑定。不同之处在于,这个脚本确保首先将空格设置为制表符,然后将制表符大小设置为2。如果这不是起点,宏就不能工作。
在Mac中,使用宏+键绑定:
spaces2to4.sublime-macro
/Library/Application\ Support/Sublime\ Text\ 3/Packages/User/spaces2to4.sublime-macro
Sublime Text
Preferences
Key Bindings
{ "keys": ["super+shift+o"], "command": "run_macro_file", "args": { "file":"Packages/User/spaces2to4.sublime-macro" } }
现在⌘ + shift + o现在自动将每个文件从2个空格缩进转换为4个空格(但如果你进一步运行它将保持缩进)
⌘ + shift + o
使用IDLE ->格式,分类或CTRL+F5
我在圣