Emacs 31:markdown-ts-mode 非官方指南

Emacs 31: An unofficial guide to Markdown-ts-mode

Emacs 31:markdown-ts-mode 非官方指南

Emacs 31 发布了,内置了一个实验性的 markdown-ts-mode。虽然标记为实验性,但它功能强大,完整支持 CommonMark 和 GitHub Flavored Markdown 规范,还能与 pandoc 等工具无缝对接。不过,由于依赖 tree-sitter,首次使用需要手动安装和编译相应的语法规则,比如 markdown 和 YAML。本文作为一份非官方指南,将带你从零开始配置这个模式,解决语法安装中的常见坑点,并展示其丰富的编辑功能,如智能格式化、隐藏标记和目录生成。如果你还在用旧版 markdown-mode,不妨试试这个基于 tree-sitter 的新选择。

一个 -ts-mode 的强大程度完全取决于其背后的 tree-sitter 语法规则。
  1. ggm

    所以我得按 shift* 才能打出星号来实现加粗。

    或者我可以按 ESC 启用某个模式选项,然后按单个键。

    我有点纠结。如果直接输入代码的按键次数更少,那启用这个模式的动机是什么?

    这跟 vi 和 emacs 的派系之争无关,纯粹是按键效率的问题。就算换算成最小前缀加 TAB 补全,按键次数也多了大概 20 倍,我实在看不出有什么理由。

  2. RahulMJ

    补充一点额外信息:

    - `ts` 代表 "tree-sitter",意味着该模式底层使用了 tree-sitter,这带来了诸多优势,其中之一就是性能极佳。

    - 支持 CommonMark 规范和 GFM,因此像 `- [ ]` 复选框和 ~~删除线~~ 等功能开箱即用,同时还包含许多其他提升生活质量(QoL)的小特性。

    - 该模式是内置的,无需安装额外包。

    - 目前该模式仍处于实验阶段,用户需要手动“选择加入”并加载该模式才能使用,这就是指南第一部分的内容。

  3. pjdesno

    对于那些像我一样只是在使用 Emacs,而没有紧跟其近期演变的人来说,"ts-mode" 指的是一个利用 tree-sitter 进行解析、高亮等操作的模式。

  4. taude

    我停止使用 Emacs 的最大原因之一(在此之前我是个重度用户)是 org-mode 文件并非完全原生的 Markdown 文件,这在与他人协作时造成了令人烦恼的摩擦。

    对我来说,有一个以 Markdown 为核心的新型 org-mode 工具会很有趣。我很乐意用 Lisp 来定制我的工作流,而且我并不完全喜欢我现在配置好的 Obsidian。我更希望配置直接存在于 init.el/config.el 中(我最近用的是 DoomEmacs)。

    我意识到 org/agenda 等功能比 Markdown 提供的要多得多,但我大部分的工作流只围绕:待阅读的原始笔记、待办清单、事项截止日期,以及 org-mode 的其他“基础”功能。

    最近还有 Emacs 用户有类似的工作流吗?我很想重新把 Emacs 用回我新的以 Tmux 为中心的编码工作流中,让它成为一等公民的 Markdown 编辑器、组织工具,甚至协作平台……

  5. edgyquant

    大家使用 eMacs 进行生成式编程的工作流是怎样的?我正在尝试建立一种工作流,可以生成代码并像 PR 一样审核(也许可以留下评论以便进行下一轮生成),但我是个 eMacs 新手,而且最新的 eMacs 似乎无法配合 ai coding 包使用。

同日更多故事

2026-08-27