将多个文件中的空格转换为制表符 Sublime Text 2

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

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

以上是关于将多个文件中的空格转换为制表符 Sublime Text 2的主要内容,如果未能解决你的问题,请参考以下文章

崇高文本中的可见标签宽度2

如何修复/转换 Sublime Text 中的空格缩进?

Visual Studio Code - 将空格转换为制表符

如何强制 Sublime Text 每个制表符缩进两个空格?

Linux:expand命令详解

在 TextWrangler 中自动将制表符转换为 4 个空格?