空格与换行整理
去行尾空白、压缩连续空格、删空行、统一换行符。
输入
输出
这个工具做四件互不干扰的事:去掉每行首尾的空白、把行内连续空白并成一个空格、删除空白行、统一行尾为 LF 或 CRLF。处理顺序是固定的:切行 → 行内压缩 → 去首尾空白 → 删空行 → 统一行尾,所以同一份输入在任何开关组合下结果都可预期。切行按 CRLF、LF、单独 CR 三种行尾识别,单独 CR(老 Mac 写法)也算换行,不会被当成行内字符。选「换行不变」时输出保留原有的每种行尾,选统一时才整体替换;文件末尾换行切出的那个空段不算一行内容,删空行不会把它统计进去。
所有操作都只在行内生效:不重排段落、不补缩进、不改大小写,也不删除行与行之间的换行结构(除了明确删除的空白行)。全部计算在浏览器里完成,文本不上传。
空格与换行整理怎么用
- 提交前先统一行尾:Windows 编辑器写出的 CRLF 和仓库里的 LF 混用时,Git 会把整份文件显示成已修改。选中要保留的口径(一般是「统一 LF」)再提交,配合 .gitattributes 更稳。
- 删空行:判定标准是整行去空白后是否为空,不受「去每行首尾空白」开关影响;提示条给出删掉的行数,缩进空行、只有 Tab 的行都会被算作空行。
- 行内压缩要慎开:打开后行内的连续空格、Tab、全角空格 U+3000、不换行空格 U+00A0 会统一并成一个普通空格,代码缩进会被改写;只想动行尾就保持关闭,此时 Tab 原样保留。
常见问题
换行符到底有什么影响?
LF(\n)是 Unix 与 Git 的常见口径,CRLF(\r\n)是 Windows 记事本的写法,单独的 CR(\r)来自经典 Mac。肉眼看不出差别,但字节不同:混用会让 diff 显示整文件改动、让某些解析器和 shell 脚本出错。注意浏览器会在内容进入文本框时把 CRLF 和单独 CR 统一成 LF,所以粘贴进来的 Windows 文件在这里只会显示 LF,检测不到混用不代表源文件没问题;输出侧不受这条限制,选「统一 CRLF」后下载到的字节确实是 \r\n。
为什么缩进不见了?
是「行内连续空白并成一个」在起作用:它把整行内的空白串压成一个空格。只想清理行尾的话关掉这个开关,只保留「去每行首尾空白」,缩进就不会被改动。
全选空白文件会得到什么?
输出是空字符串,提示条写明删了几行空白行。全角空格和不换行空格也按空白处理,所以那些「看不见但存在」的空行同样会被清掉。