例如:如果我有一个2空间缩进文档,我希望它有四个空格缩进,我怎么会自动使用崇高文本编辑转换呢?
下面是崇高的文本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 -> 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
热键。
注意:此方法是容易出现“错误”,如果你有你的代码中的一个以上的空间。因此比马格纳的方法不太安全,但它是快(至少对我来说)。
> 4的空间 - 虽然许多建议将2时工作。 > 2 - 4转换时,我遇到了一些问题。
下面是我最终使用:
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" }
]
如果您发现搜索和替换更快地使用,你可以使用正则表达式替换这样的:
查找(正则表达式):(^|\G) {2}
(而不是“{2}” <space>{2}
你可以只写两个空格这里用它的清晰度。)
用4个空格代替,或任何你想要的,喜欢\t
。
我写了一个插件它。你可以找到它here或包控制认准“缩进”。它主要是做同样的事情,凯尔 - 芬利写道但与快捷键方便的方式为2和4,反之亦然之间的转换。
你必须将此代码添加到您的自定义键绑定:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
按CTRL + F12,它会缩进你的文件的4选项卡的大小,如果你想有一个不同的标签尺寸,你只需要改变“价值”号。特格式是一个简单的JSON。
最近,我遇到了类似的问题。我用的是崇高的编辑器。这不是一个问题的代码,但与编辑器。
在偏好设置如下变化为我工作。
崇高文本菜单 - >首选项 - >设置:语法专用:
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}