因为Notepad++行高由所有激活样式中最大fontSize决定,而非仅Default Style;Line number margin、Brace highlight style等常被忽略的样式若字号更大,就会“撑大”行距。

为什么改了 Default Style 字体大小,行间距却没变?
Notepad++ 没有独立的「行间距」设置项,它的行高由当前所有激活样式的最大 fontSize 决定——不是你调小了 Default Style 就生效,而是所有样式里字号最大的那个说了算。常见“隐形撑大者”包括:Line number margin、Brace highlight style、HTML tag,甚至某些插件注入的样式。
- 打开 设置 > 语言格式设置,勾选“显示所有语言”,逐个展开检查各语言下的
Comment、String、Keyword等样式 - 重点确认
Line number margin的fontSize是否大于Default Style(默认常为 12,而 Default 是 10) - 把所有
fontSize>Default Style的样式,统一设为相同值(推荐10或11) - 改完必须完全退出 Notepad++ 再重启,否则渲染缓存不刷新
直接改 lineHeight:最彻底但需手动编辑配置文件
如果统一字体大小后仍不够紧凑,或你想精确控制像素级行高(比如从默认约 16px 压到 14px),就得修改 stylers.xml。这个设置绕过样式逻辑,强制整屏行高一致。
- 找到 Notepad++ 安装目录下的
stylers.xml(路径类似C:\Program Files\Notepad++\stylers.xml,便携版就改实际运行目录下的文件) - 搜索
<LexerType name="global">,在该标签内添加属性:lineHeight="14"(纯数字,单位像素,建议值 13–18) - 保存后必须完全退出 Notepad++(不是关闭标签页,是右下角退出进程)再重新启动
- 别误改
%APPDATA%\Notepad++\stylers.xml,那是用户配置目录,对行高无效
用了 Obsidian 等第三方主题,为什么调不动?
第三方主题通常会覆盖全局样式定义,导致你在 UI 里调的 Line number margin 或 Default Style 被主题自带的 fontSize 覆盖。这时候 UI 设置基本失效。
- 先切回
Default主题(设置 > 风格配置器 > 主题选Default) - 再按前述方法统一调整各样式
fontSize - 调好并重启后,再切回 Obsidian 等主题——此时主题会继承你刚设的字体大小,不再强行撑大行高
- 如果主题仍异常,打开其配套的
stylers.xml(通常在主题包内),手动搜fontSize并批量替换为一致值
调小行高后视觉错位怎么办?
行高低于 14px 时,部分 UI 元素可能被裁切,尤其是带图标的区域(如断点标记、折叠箭头、行号边距)。这不是 bug,是 Scintilla 渲染限制。
-
lineHeight="13或更小值容易导致Line number margin数字顶部/底部被截,建议底线设为14 - 若启用“显示空格和 Tab”(视图 > 显示符号 > 显示空格),过小行高会让
·和→符号挤压变形,可临时关闭该选项 - 多行选中、括号高亮等逻辑不受影响,但视觉上可能显得拥挤——这是预期行为,不是配置错误
lineHeight 和样式 fontSize 双轨并行时,优先以 lineHeight 为准,但前提是所有样式 fontSize 不超过它,否则会被反向拉高。


















