Windows版本的Emacs如何选择字体(Linux也一样,KIMI)

news/2025/10/21 21:59:39/文章来源:https://www.cnblogs.com/xiaoma2018/p/19156520

Windows版本的Emacs如何选择字体(Linux也一样,KIMI)

TITLE: Windows版本的Emacs如何选择字体(Linux也一样,KIMI)

本文为和AI大模型助手KIMI的对话内容,仅供参考。

Emacs应该如何选择字体?

User: Windows版本的Emacs应该如何选择字体?

Kimi: 在 Windows 上使用 Emacs 时,由于默认字体渲染效果较差,合理选择并配置字体
对中英混排、性能以及视觉体验非常关键。以下是结合社区实践整理的推荐方案:


✅ 推荐字体组合(等宽+中英混排)

用途 推荐字体 说明
英文 IosevkaUbuntu MonoFira MonoComic Mono 等宽、清晰、开源,适合代码编辑
中文 Sarasa Mono SC(更纱黑体) 等宽中文字体,完美对齐英文,适合表格、代码注释
中文备选 微软雅黑Noto Sans CJK SC等线 系统自带,兼容性好,但需手动调大小对齐

✅ 字体配置方案(init.el 示例)

(when (eq window-system 'w32);; 设置英文字体(set-face-attribute 'default nil :font "Iosevka 12");; 设置中文字体(等宽对齐)(dolist (charset '(kana han symbol cjk-misc bopomofo))(set-fontset-font (frame-parameter nil 'font)charset(font-spec :family "Sarasa Mono SC" :size 14)));; 可选:emoji 字体(set-fontset-font t 'symbol "Segoe UI Emoji" nil 'prepend)
)

✅ 字体获取方式

  • Sarasa Gothic(更纱黑体)
    GitHub 开源项目:https://github.com/be5invis/Sarasa-Gothic
    下载后安装 .ttf 字体,Windows 会自动识别。

  • Iosevka
    GitHub:https://github.com/be5invis/Iosevka
    提供多种字重和风格,建议下载 Iosevka Term 等宽版本。


⚠️ 注意事项

  1. 避免使用 set-default-font,已过时,推荐使用 set-face-attribute
  2. 新建 frame 字体失效?
    使用 after-make-frame-functions 钩子确保新窗口也应用字体设置。
  3. 字体发虚或卡顿?
    尝试关闭 Windows 的 DPI 缩放,或使用 Emacs 29+ 的 PGTK 构建(WSLG 环境)。
  4. 中英文对齐问题
    使用 Sarasa Mono SC 可自动对齐,或手动设置 face-font-rescale-alist 缩放
    中文字体。

✅ 总结一句话

Windows 上 Emacs 字体首选:英文用 Iosevka,中文用 Sarasa Mono SC,配置简单、
对齐完美、开源免费。


如需进一步美化(如 variable-pitch 模式、org-mode 字体分离),可继续深入字体集
(fontset)和 face-remapping-alist 配置。需要我帮你定制配置也可以继续问。


Monospace字体兼顾中英文吗?

User: monospace字体是不是能兼顾中英文?

Kimi: 不是绝大多数等宽字体(monospace)只能保证英文字符等宽中文在这些字体下通常是“全角宽度”,也就是英文的两倍宽。
所以:


✅ 等宽字体 ≠ 中英等宽对齐

字符类型 宽度 示例
英文/数字/符号 半宽(1 单位) a, 1, {
中文/日文/韩文 全宽(2 单位) , ,

✅ 中英混排对齐的解决方案

要让中英文在表格、代码注释、org-mode 表格中完美对齐,必须满足:

中文也是“等宽”且宽度 = 2 × 英文字宽

这就需要使用专为编程设计的“中英文等宽”字体,例如:

字体名 中英等宽? 说明
Sarasa Mono SC 最推荐,基于思源黑体 + Iosevka,开源
Maple Mono SC 国内新出,字形更圆润,兼容性好
霞鹜文楷等宽 基于霞鹜文楷,适合中文阅读
思源黑体 Mono 只有中文,等宽但英文不齐
Consolas、Fira Mono、JetBrains Mono 英文等宽,中文 fallback 后宽度不定

✅ 实测对比(org-mode 表格)

| 名称   | 版本 | 说明             |
|--------+------+------------------|
| Emacs  | 29.4 | 编辑器           |
| 你好吗 | 1.0  | 中文测试         |
  • Sarasa Mono SC:表格竖线完美对齐
  • Consolas:中文列会“撑开”,竖线错位

✅ 总结一句话

普通 monospace 字体不能保证中英对齐,必须选用“中英文等宽”字体,如 Sarasa
Mono SC 或 Maple Mono SC。


如果你已经装了这些字体,我可以帮你写一段 init.el 配置,确保中英文在代码、表
格、org-mode 中都对齐。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/942704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025.10.21

今天上午工程实训课学习激光加工打印名牌和在手机壳上刻字,中午吃了小蛋糕,下午帮学长拿资料,所以早起了一会去教室,晚上吃了水果,然后上养生与健身课。

化学同位素

质子数相同而中子数不同的同一元素的不同核素互称为同位素。 例如:氢有三种同位素,氕(H)、氘(D,重氢)、氚(T,超重氢);碳有多种同位素,12C、13C和 14C(有放射性)等。同位素元素图同位素具有相同原子序数的…

equal和hashcode

equal和hashcode目录equal和hashcode核心代码示例hashCode() 方法哈希码哈希码原理equals()与hashcode()的联系图形展示完整的示例代码 核心代码示例 public boolean equals(Object o) {if (this == o) return true;if…

Windows系统内存占用过高,且任务管理器找不到对应进程

Windows系统内存占用过高,且任务管理器找不到对应进程 现象描述 开机后系统卡顿,任务管理器查看内存占比达到90%+,统计APP实际消耗内存远小于标称占比。 解决方案cmd输入resmon打开资源监视器 按照工作集内存占用大…

NOIP 二十五

树哈希+类折半搜索+图论+最短路树A. 容易发现对于一个节点 \(u\) ,其有 \(v\) 棵子树是同构的,那么总方案数将乘上 \(v!\) 。 根节点可能也会参与这种交换,为了避免这种讨论,我们将重心设为根进行 dfs 。 当存在两…

理想婚姻

理想婚姻 # 理想婚姻 纵观我的成长经历,长辈们婚姻历史给我最多的感受是执子之手与子偕老,并风雨同舟携手共进。在种淳朴的农村婚姻思想里潜移默化的成长了。爷爷奶奶他们那一代人,风里雨里坎坎坷坷,历经了国家的各…

php如何生成6位不重复的字符串

PHP如何生成6位不重复的字符串 在Web开发中,经常需要生成不重复的随机字符串用于验证码、短链接、订单号等场景。本文将深入探讨7种PHP生成6位不重复字符串的方法,分析它们的实现原理、性能表现和适用场景。 一、需求…

「清华集训2014-主旋律」题解

题解记录P11714 [清华集训 2014] 主旋律 pref 怎么新赛季就开始了。 一直想补岁月,但至今没有实现,也就只好先从主旋律下手。我该在哪里停留?我问我自己。sol 题意就是求删后原图仍强联通的有向边删边方案数。 强联…

Hetao P5593 删 题解 [ 蓝 ] [ 线性 DP ] [ DFS 序 ] [ 虚树 ]

删:思路很新奇的一道 DP 题。 通常做树形 DP 都是自底向上进行 DP 的,而此题因为转移与 DFS 序有关,所以可以拍在 DFS 序上 DP。 观察删除的性质,发现一个点 \(u\) 要么被删掉,不进行匹配,要么就必须要与 \(\bm{…

第二次高级程序作业

2025高级语言程序设计 https://edu.cnblogs.com/campus/fzu/gjyycx/homework/13570 102500426康凯帆书本外额外的题目程序清单3.11练习题 做完这些练习题,让我对于c语言有了更深的了解,以往都是听理论模模糊糊,现在…

大学生需要认真听课的肌肉记忆(注意力训练)

原文:Scalers:大学生上课为什么一定要认真听讲? https://www.scalerstalk.com/816-attention2) 读这篇文我有很深的共鸣,以及一些困惑的解答。 原文说,认真听讲是一种能力,我在读大学一年后无比赞同。事实上不…

Ancestral Problem 题解

逆天卡常匈牙利吊打 dinic 下面默认二分图匹配的复杂度是 \(\mathcal{O}(m\sqrt n)\),其中 \(n\) 是点数,\(m\) 是边数。 暂时默认 \(m=\mathcal{O}(n)\) 因为不影响分析复杂度。首先容易写出 \(\mathcal{O}(n^{3.5}…

AWS IAM角色最佳实践:构建云安全的核心防线

本文深入探讨AWS IAM角色的核心概念与最佳实践,涵盖身份识别、权限管控、威胁检测和自动响应等关键环节,通过具体配置示例展示如何有效保护云环境安全,避免权限滥用和潜在威胁。AWS IAM角色最佳实践 Amazon Web Ser…

初始人工智能和机器学习

一、初始人工智能 1.人工智能是一个抽象的概念,它不是任何具体的机器或算法。任何类似于人的智能或高于人的智能的机器或算法都可以称为人工智能。应用:机器人等。 2.机器学习是AI系统需要具备自我学历的能力,即从原…

盒子模型外边距合并问题

两个外边距重合时,那个大用哪个 当只给子级盒子创建顶部外边距时,会连带着父级盒子一起隔离 第一种:取消子级外边距,给父级加内边距(加内边距会撑大盒子) 规避撑大盒子 2.给父级溢出的部分给隐藏 3.加细边框线显示出多…

o(N^2)找出所有回文子串

1、对于一个字符串如果(i - 1, j - 1)为回文串,并且s[i] == s[j],那么(i, j)也是一个回文串 2、双重循环,外层从大到小,内层从小到大,这样就可以由小区间推到大区间(可以写下思考一下)int vis[2010][2010];mems…

蛋白表达技术概述

一、蛋白表达的定义 蛋白表达(Protein Expression) 是指通过人工构建的基因表达系统,在特定宿主细胞中合成目标蛋白的过程。在自然界中,基因经转录和翻译形成蛋白质,这是生命活动的基本过程。在实验和工业生产中,…

二叉树的中序遍历- 递归原理 - MKT

二叉树的中序遍历- 递归原理

二叉树的中序遍历- 二叉树基本-栈 - MKT

二叉树的中序遍历- 二叉树基本-栈 前序遍历非递归实现​​:void preorderIterative(TreeNode* root) {if (root == nullptr) return;stack<TreeNode*> s;s.push(root);while (!s.empty()) {TreeNode* node = s…

二叉树的中序遍历- 二叉树基本-递归 - MKT

二叉树的中序遍历- 二叉树基本-递归 #include <iostream> #include <queue> using namespace std;struct TreeNode {int val;TreeNode* left;TreeNode* right;TreeNode(int x) : val(x), left(nullptr…