notepad++需设置“将tab替换为空格”并设宽度为4,否则tab插入\t易致python/yaml等出错;全局设置在“设置→首选项→语言”页配置,当前文件临时转换用“编辑→空白字符操作→tab转空格”。

Notepad++ 默认按 Tab 键会插入一个 \t 字符,不是空格;要让它插入 4 个空格,必须手动开启“替换为空格”并设好宽度——否则 Python、YAML 或 Git diff 等场景容易出错。
设置全局默认:Tab 键自动转为 4 个空格
这是最常用也最稳妥的方式,适用于所有新打开或新建的文件:
- 点击菜单栏 设置 → 首选项
- 左侧选 语言(注意:不是“制表符设置”——该选项在旧版 Notepad++ 7.1 之前存在,新版已整合进“语言”页)
- 右侧找到 Tab 键宽度,设为
4 - 勾选 将 Tab 替换为空格(英文界面为
Replace by space) - 点 关闭 生效,无需重启
⚠️ 注意:这个设置只影响之后新建/打开的文件,对已打开且未修改过的文件不生效(光标未进入编辑状态时,Tab 仍可能插入 \t)。
对当前文件临时启用:Tab 转空格(不改全局)
适合临时处理一份已有文件,又不想影响其他项目:
- 确保光标在目标文件内(非新建空白页)
- 菜单栏选择 编辑 → 空白字符操作 → TAB 转空格
- 该操作会把当前文档中所有
\t替换为对应宽度的空格(以当前语言设置的Tab width为准) - 若想反向转换(空格→Tab),选同路径下的
TAB 转空格对应项即可
⚠️ 注意:此操作是“一次性替换”,不会改变输入行为——之后再按 Tab 键,仍会插入 \t,除非你同时设置了全局替换。
验证是否生效:显示空白字符看一眼
光靠肉眼很难确认是 \t 还是空格,尤其缩进混用时。开启可视化最可靠:
- 菜单栏 视图 → 显示符号 → 显示空白字符(或快捷键
Ctrl+Shift+P) - 此时
\t显示为→,空格显示为· - 新建一行,按一下 Tab 键:如果看到 4 个
·,说明设置成功;如果看到→,说明“替换为空格”没勾上或没生效
⚠️ 注意:某些语言(如 Python)在“语言”页单独设置了 Tab 宽度,会覆盖全局值——建议统一在“default”项下配置,避免冲突。
真正容易被忽略的是:设置完后忘记检查当前文档的编码和语言模式——比如文件被识别为“Text”而非“Python”,就可能走 default 设置;但如果识别成“PHP”,而 PHP 的 Tab 设置没开替换,那按 Tab 依然输 \t。动手前先看右下角状态栏的语言标识,必要时右键切换。










