【问题标题】:Converting spaces to tabs in multiple files Sublime Text 2将多个文件中的空格转换为制表符 Sublime Text 2
【发布时间】:2014-01-07 15:21:57
【问题描述】:

有没有办法将所有空格转换为制表符,而不是逐个文件?

如果我打开一个文件并通过View => Indentation => Convert Indentation to Tabs,它只会更改这个文件。我想在整个项目中将缩进转换为制表符。

【问题讨论】:

    标签: tabs sublimetext2 indentation sublimetext spaces


    【解决方案1】:

    使用search and replace in multiple filesn 空格转换为选定文件中的制表符。

    首先打开在文件中查找面板,cmd + shift + f,默认在多个文件中查找和替换。接下来定义一个正则表达式以将空格匹配为制表符,例如 {4}(确保在面板中设置正则表达式)为4 个空格并在所需文件中替换为\t。将{4} 更改为用于缩进的许多空格。

    正如 cmets 中提到的,在行首匹配空格,您可以使用正则表达式 ^( {4})+

    【讨论】:

    • @moss 哪一部分不起作用?这是一个足够简单的方法,只需确保将“{4}”更改为每次缩进使用的空格数
    • 对我来说,ST 希望对每个文件进行确认保存,它在操作过程中在选项卡(数千个)中打开了每个文件。不得不使用 taks manager 并杀死 ST,因为在没有确认数千次的情况下无法关闭它。也忘了省略“{4}”周围的引号(我正在尝试相反的,制表符到空格)所以基本上是对项目进行了冲洗,但现在只是在测试,所以没有伤害没有犯规。也许应该在答案中包含关于不按字面意思加上引号的内容。
    • @isimmons 您可以通过*.{js,txt}(例如)在查找替换中指定包含过滤器,其中仅包含javascript和文本文件。可能应该提到保存所有答案的好点
    • 反之亦然,例如。 (正则表达式)搜索 \t 并替换为两个空格
    • 但这不匹配任何地方的 4 个空格,而不仅仅是代码行的开头吗?例如,如果您有一个包含 4 个空格的字符串,这也将替换它,不是吗?是否有只匹配开头空格的正则表达式?
    猜你喜欢
    • 2014-04-27
    • 2012-03-23
    • 1970-01-01
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多