notepad++新建文件默认编码应设为utf-8(无bom),默认语言选normal text并按扩展名映射语法,tab宽设4且替换为空格,关闭自动换行,重启验证生效。

新建文件默认编码设成 UTF-8 无 BOM
Notepad++ 新建文档默认用 ANSI 编码,中文一保存就乱码,尤其你后续要传到 Linux 或 Git 里,问题立刻暴露。ANSI 实际是系统本地编码(Windows 上常为 GBK),而现代协作场景基本要求 UTF-8。
实操路径:菜单栏 设置 → 首选项 → 新建文档 → 编码,选中 UTF-8(不是 UTF-8-BOM)。
-
UTF-8-BOM会导致某些脚本(如 Python、Shell)报错Unexpected UTF-8 BOM - 如果团队用 Git,
UTF-8(无 BOM)能避免 diff 里多出不可见字符 - 改完后已打开的旧文件不会变,只影响之后点「新建」或 Ctrl+N 的文档
默认语言模式设成纯文本或按扩展名自动识别
新建空文件时,Notepad++ 默认语言是 Normal text,但如果你常写 JSON、Markdown、Python,每次都要手动点状态栏语言切换很烦。它不支持“按内容自动猜”,但能靠扩展名绑定。
实操路径:菜单栏 设置 → 首选项 → 新建文档 → 默认语言,选 Normal text(最安全);再进 设置 → 语言格式设置,滚动到底部点「定义你的语言」→ 添加扩展名映射(比如 .py → Python)。
- 别把默认语言设成
Python或JSON:空文件一建就带语法高亮和缩进规则,反而干扰快速记事 -
.env、.yml这类没预置的扩展名,必须手动加映射,否则永远是灰色文本 - 映射只在保存为对应后缀时生效;新建未保存文件仍按「默认语言」走
Tab 宽度和自动换行这些细节得同步关掉
很多人设了编码和语言,结果粘贴代码时缩进错位、长行不换行,以为是格式问题,其实是编辑器基础行为没对齐。
关键三项在 设置 → 首选项 → 编辑组件 里:
-
制表符宽度设为4(Python/JS/Go 主流标准),勾选将制表符替换为空格 -
自动换行建议关闭:开启后会影响正则查找、列编辑,且不改变实际换行符 -
显示所有字符初期可开,看清空格和 Tab 区别;习惯后关掉,减少视觉干扰
配置不生效?检查是否被会话记忆覆盖
Notepad++ 有个隐藏机制:如果你上次退出前有多个标签页,它重启时会恢复整个会话(含每个文件的语言、编码、折叠状态),这时候「新建文档」的设置看起来像失效了。
验证方法:完全退出 Notepad++(任务栏进程也要杀干净),再双击桌面快捷方式启动,直接按 Ctrl+N —— 这时才真正走你配的默认值。
- 如果还是不对,检查是否启用了
记住当前会话(设置 → 首选项 → 备份 → 会话) - 便携版用户注意:
notepad++.exe同目录下的config.xml才是真实配置源,别只改界面 - 公司电脑若被组策略锁定,
settings dialog里某些项会灰掉,只能改配置文件
配置项看着少,但编码、语言、缩进、会话这四块互相咬合,动一个常牵出另一个异常。调完别急着写代码,先 Ctrl+N → 保存为 test.py → 看右下角状态栏是否显示 UTF-8 和 Python —— 这个瞬间才是真生效。










