notepad++原生不支持yaml,需安装yaml tools插件(≥3.1.0)并手动启用lexer;安装后须重启、通过“语言→yaml tools”手动指定,且需检查插件目录、配置文件及空格显示以确保正确解析。

Notepad++ 本身不内置 YAML 支持,必须装插件
Notepad++ 默认把 .yml 或 .yaml 文件当纯文本处理,没有语法高亮、缩进校验、折叠支持。这不是配置问题,是原生能力缺失——Scintilla 引擎默认不带 YAML lexer。你改编码、换主题、调字体大小都没用,得靠插件补上这一环。
推荐插件:YAML Tools(非 YAMLSense)
截至 2026 年,YAML Tools 是 Notepad++ 社区维护最活跃、兼容性最好的选择。它基于 Scintilla 原生 lexer 实现,不是靠外部脚本或 JSON 模拟,所以能正确识别锚点(&ref)、别名(*ref)、多行字符串(| 和 >)等 YAML 特有结构。
-
YAMLSense虽然名字更专业,但实际在 Notepad++ 中已多年未更新,对新版 YAML 1.2 标准支持不全,比如会误判!!str类型标记 - 不要手动下载
.dll文件从第三方站点,容易遇到签名失效或架构不匹配(x86/x64 混用导致插件菜单不显示) - 官方插件管理器(Plugins Admin)里搜 “YAML” 显示的首个结果就是
YAML Tools,版本号应 ≥ 3.1.0
安装后必须重启并手动启用 lexer
装完插件只是第一步。Notepad++ 不会自动把所有 .yml 文件关联到新 lexer,你需要手动触发:
- 打开一个
.yml文件 → 顶部菜单栏点击语言→ 滚动到底部找到YAML Tools并点击 - 如果没看到该选项,说明插件未加载成功:检查
%PROGRAMFILES%\Notepad++\plugins\YamlTools目录是否存在,且内含YamlTools.dll和lexers\YamlLexer.dll - 若文件已打开但语法仍无高亮,右键标签页 →
更改语言为 → YAML Tools,避免依赖文件扩展名自动识别(有时会失败)
常见报错:Lexer not found: YAML 或高亮全红
这通常不是插件没装好,而是 lexer 初始化失败。根本原因是 Notepad++ 启动时未加载插件依赖项:
- 确保 Notepad++ 是以常规方式启动(非管理员模式下双击桌面图标),某些安全策略会阻止插件 DLL 的 LoadLibrary 调用
- 关闭所有 Notepad++ 进程(包括后台托盘进程),再重新打开 —— 插件只在主进程首次加载时注册 lexer
- 如果使用便携版,确认
plugins\Config\YamlTools.ini存在且内容未被清空;该文件控制缩进宽度、是否启用折叠等,为空会导致 lexer 降级为纯文本模式
YAML 的缩进敏感性远高于 JSON,插件只是辅助,真正容易出错的是人眼误判空格/Tab 混用、漏写冒号、错位对齐——这些不会报错,但会让解析器静默失败。建议打开 视图 → 显示符号 → 显示空格与制表符,把隐性格式问题显性化。











