首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >008. Emacs 之光的成长历程

008. Emacs 之光的成长历程

作者头像
飞驰的西瓜
发布2022-07-26 16:16:44
发布2022-07-26 16:16:44
8300
举报
文章被收录于专栏:EmacsTalkEmacsTalk

本期节目请来了一位特殊嘉宾–付禹安,社区内一般称他为『Emacs 之光』。之所以这么称呼,是因为今年才刚刚大学毕业的他,就已经给 Emacs 贡献了多次代码。👍

与大多数用户不同,嘉宾在接触 Emacs 不久即开始尝试攒写自己的配置,并陆陆续续发布了几个比较实用的包,比如 valign[1],嘉宾是如何做到的?更令人好奇的是,嘉宾如何在短期内熟悉 Emacs 源码并为之贡献多个 patch,相信通过嘉宾的学习、贡献经历,可以给听众打开 Emacs 源码的神秘面纱,让更多用户参与到 Emacs 的贡献中,一个多小时的分享,精彩不容错过。

时间线

• 00:00:56 嘉宾自我介绍

• 00:02:20 Emacs 初相识

• 00:10:08 ELisp 学习经历

• 00:15:45 Emacs 的可发现性 Discoverability[2]

• 00:23:58 源码贡献经历

• 00:27:32 源码贡献流程介绍

• 00:38:15 如何读懂 Emacs 源码

• 00:57:59 嘉宾的第一个 Emacs patch

• 01:02:34 分享环节

Show Notes

•嘉宾自我介绍

• 网络 ID: casouri[3]

• 17 年大一开始接触 Emacs ,到现在差不多四年

• 个人博客[4]

• 配置 lunarymacs[5]

• 对 Emacs 仓库的提交记录[6]

• 28 版本新增的 shortdoc[7],解决手册冗长,提供简洁的示例代码

•正则表达式两处文档:

• 只介绍如何写正则的 34.3 Regular Expressions[8]

• 15.5 Regular Expression Search[9] 这一小结介绍正则相关函数

•嘉宾对 Emacs 的主要 patch:

• Improve word wrapping for CJK characters[10]

• Add filter to GDB's register buffer[11]

•Emacs 代码规范

• 注释都是完整句子,最后有个句号,句号后两个空格

• 注释用的是 C 风格的 /* */ ,而不是 C++ 的 //

• 函数名后面跟一个空格,再是括号

•读 Emacs 源码技巧

• lisp.h[12] 里面有 C 如何调用 ELisp 的示例

• 去 devel[13] 邮件列表咨询,还可以练习英文表达能力

• ccls[14] + grep + ctags

• 通过搜索相关功能来探究其个函数的用法

•嘉宾的分享

• aggressive-indent-mode[15]

• Practical Typography[16]

•主播的分享

• 关注牙齿健康,最好每年去看一次牙医

Get in Touch

• 收听方式见:https://emacstalk.github.io/

• 如果您喜欢这档节目,欢迎通过「❤️发电」[18]来支持

引用链接

[1] valign: https://github.com/casouri/valign [2] Discoverability: https://wikemacs.org/wiki/Discoverability [3] casouri: https://github.com/casouri [4] 个人博客: https://casouri.github.io/ [5] lunarymacs: https://github.com/casouri/lunarymacs [6] 提交记录: https://github.com/emacs-mirror/emacs/commits?author=casouri [7] shortdoc: https://emacstalk.github.io/post/002/ [8] 34.3 Regular Expressions: https://www.gnu.org/software/emacs/manual/html_node/elisp/Regular-Expressions.html [9] 15.5 Regular Expression Search: https://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Search.html [10] Improve word wrapping for CJK characters: https://github.com/emacs-mirror/emacs/commit/0d1ca2ac3805443690f3bcb6877251d9b74902c9 [11] Add filter to GDB's register buffer: https://github.com/emacs-mirror/emacs/commit/7c83e605ab84e8b62254c55f347abc8aa9c6057b [12] lisp.h: https://github.com/emacs-mirror/emacs/blob/master/src/lisp.h [13] devel: https://lists.gnu.org/archive/html/emacs-devel/ [14] ccls: https://github.com/MaskRay/ccls [15] aggressive-indent-mode: https://github.com/Malabarba/aggressive-indent-mode [16] Practical Typography: https://practicaltypography.com/ [17] 530146104: https://jq.qq.com/?_wv=1027&k=9tAXJ8gG [18] 「❤️发电」: https://afdian.net/@emacstalk

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 EmacsTalk 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 时间线
  • Show Notes
  • Get in Touch
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档