最稳方式是直接编辑custom.css文件,在其中添加.CodeMirror pre {font-size: 15px !important;},路径为~/.jupyter/custom/custom.css(Windows为C:\Users\<用户名>.jupyter\custom\custom.css),加!important可避免主题覆盖,数值建议14–16px。

直接改 custom.css 最稳,不依赖主题工具
如果你只想要代码单元格字体变大,又不想被 jupyter-themes 的主题覆盖或重装影响,最可靠的方式是手动编辑 custom.css。它优先级高、生效快、改完重启 Notebook 就行,且不会和任何主题冲突。
路径通常是:~/.jupyter/custom/custom.css(Windows 下为 C:\Users\<your_name>\.jupyter\custom\custom.css</your_name>)
往里面加这行就行:
.CodeMirror pre { font-size: 15px !important; }
注意点:
-
!important必须加,否则某些主题(比如onedork)会用自身 Less 变量覆盖你设的值 - 数值建议在
14px–16px之间,再大容易挤占行距,反而影响阅读 - 这个规则只管代码编辑区,不影响 Markdown 渲染或输出区域——要改输出字体得另加
div.output_area pre
jt -fs 参数只控制代码字体,但有隐藏限制
用 jupyter-themes 命令行设置时,-fs 看起来是“字体大小”,但它实际只作用于 CodeMirror 编辑器里的代码字体,且受主题内置变量约束。比如 gruvboxd 主题里 @cm-font-size 没定义,-fs 16 就可能无效。
常见问题现象:
- 执行
jt -t gruvboxd -fs 16后字体没变 → 主题没声明@cm-font-size变量,-fs被忽略 - 执行
jt -t onedork -fs 16后只有部分文字变大 → 因为onedork默认用@cm-size,而-fs实际改的是@cm-font-size,两者不统一 - 换主题后字体复原 →
jt每次应用都会重写 CSS,custom.css里没加!important就会被覆盖
改 codemirror.css 是硬核方案,慎用
有人会直接去改 notebook/static/components/codemirror/lib/codemirror.css 文件第 247 行的 font-size。这确实能生效,但风险明显:
- conda 或 pip 升级
notebook包时,这个文件大概率被覆盖,你的修改就丢了 - 不同版本的 Codemirror 行号可能变化,比如 v6 和 v7 的样式结构不同,硬改容易错位
- 它影响所有主题,无法按需切换——比如白天用亮色主题配小字号、晚上用暗色主题配大字号,就做不到
除非你明确知道自己在维护一个固定版本的环境,否则别碰这个文件。
注释字体单独调,span.cm-comment 得额外处理
很多人发现改了 font-size,但注释还是小——因为注释是 span.cm-comment,它继承自父级 .CodeMirror pre,但很多主题给它加了独立样式,比如:
.cm-s-ipython span.cm-comment { color: #888; }
它没设 font-size,所以靠继承,但一旦主题里写了 font-size: 12px 给 span.cm-comment,你就得显式覆盖:
span.cm-comment { font-size: 15px !important; }
这个选择器必须加在 custom.css 里,而且得带 !important,否则主题的 Less 编译结果会压过它。
真正麻烦的不是改多少,而是哪些地方要加 !important、哪些选择器优先级更高——这些细节不试一遍,光看文档根本没法预判。


















