ZH
我的工具

缩进与取消缩进工具

用空格、制表符或 > 这样的前缀给每一行缩进,按 N 格取消缩进,去掉共同的缩进,或按制表位在制表符和空格之间转换。

每行加一次,例如引用用 >,注释用 //
结果
共 5 行,修改了 4 行

制表位每隔 4 列一个:与代码编辑器一样,制表符会移到下一个 4 的倍数位置。

我的工具 →
广告

一次性把一段文本或代码向左或向右移动。可以让每一行缩进若干个空格或制表符,也可以加上前缀,比如邮件引用用的“> ”或代码注释用的“// ”;可以按固定数量取消缩进;还可以去掉所有行共有的缩进,这在从大文件里复制出嵌套的代码片段后正好用得上。另有两种模式:按制表位把制表符转成空格,或把行首空格变成制表符。

使用方法

  1. 粘贴文本或代码。
  2. 选择缩进、取消缩进、去掉共同缩进、制表符 → 空格,或空格 → 制表符。
  3. 设置数量、缩进用的字符,以及你的编辑器使用的制表符宽度。
  4. 复制结果。

计算公式

制表位:位于第 c 列的制表符,会移到制表符宽度的下一个倍数 c + (w − c mod w)

去掉共同缩进的方式与 Python 的 textwrap.dedent 一样:找出每一个非空行都以其开头的最长一段空格和制表符并去掉,保留相对缩进。取消缩进会从每行去掉最多 N 列的行首空白,并且不会把制表符拆开。空格 → 制表符只改变行首的缩进,所以文字内部的空格保持不变。缩进时除非取消勾选,否则空行不动。

示例

示例 Python 代码整体缩进了 4 个空格。使用“去掉所有行共有的缩进”后,def greet(name): 顶到左边,函数体保留 4 格和 8 格的缩进,就像在文件开头一样;5 行中有 4 行被修改(空行保持不变)。

常见问题

怎样去掉复制来的代码里多余的缩进?

选择“去掉所有行共有的缩进”。它只去掉每一行共有的部分,所以代码自身的嵌套关系会保留。

应该用制表符还是空格?

遵循项目的风格指南或语言的惯例:Python 推荐 4 个空格,Go 使用制表符,大多数 JavaScript 风格指南使用 2 个空格。这个工具可以在两者之间任意转换。

为什么“制表符 → 空格”插入的空格比制表符宽度少?

制表符是移到下一个制表位,而不是固定数量的空格。在“a”(第 1 列)之后,宽度为 4 的制表符会补 3 个空格,到第 4 列为止。

最后更新:

引用此工具
APA

kakaoCalc. (2026, November 8). 缩进与取消缩进工具. https://kakao.mobile/zh/tools/text-indenter/

MLA

“缩进与取消缩进工具.” kakaoCalc, 8 Nov. 2026, kakao.mobile/zh/tools/text-indenter/.

广告