看起来 Emacs 28 要发布了

快是因为 Emacs 28 之于 Emacs 27 多了太多东西了,你看 NEWS.27NEWS.28 的行数

4570 NEWS.28
3256 NEWS.27

说几点可感受到的变化:

  1. emoji 的原生支持,可以用单个的 glyph 来显示了,原来则是通过多个 glyph 拼接起来的
  2. interactive 里可以写当前命令可应用的 mode, 这样搭配 (setq read-extended-command-predicate #'command-completion-default-include-p) 可以将那些不适用当前 mode 的函数在 M-x 时过滤掉.
  3. context-menu-mode,可以按 S-F10C-鼠标右击 对比一下
  4. dired-kill-when-opening-new-dired-buffer 终于 dired 在 RET 时不会产生新的 buffer 了
  5. tab-bar-show 终于可以隐藏 tab-bar 了
  6. C-x x 前缀被用起来了,现在里面包含 buffer 相关的操作
  7. redisplay-skip-fontification-on-input 缓解在快速移动时大量代码的语法高亮
  8. word-wrap-by-category 解决了 CJK 字符在 auto-fill-mode 时的问题。由 @casouri 贡献
  9. isearch 更现代化。isearch 的 C-s C-r 之后会继续搜索,而不是仅仅换了个搜索方向; isearch 里可以按 M-< 和 M-> 来回到搜索关键字的首次/末尾出现地方,最后而不是回到当前 buffer 的开头和末尾;
    1. isearch-motion-changes-direction
    2. isearch-allow-motion
  10. eshell 的 keymap 可以直接定义在 eshell-mode-map 里,以前必须要每次都在 eshell-first-time-mode-hook 里用 define-key 来定义一遍,非常奇怪
  11. 自带 icomplete-vertical-mode 了
  12. eldoc 支持多个后端函数
  13. cc-mode 支持注释中 doxygen 的高亮
  14. 内置的 project.el 进步很多
  15. xref 提升非常大
    1. 可以用 rg 了(xref-search-program),这样在调用 project-find-regexp (C-x p g) 时会比 grep 快许多
    2. xref-show-xrefs-functionxref-show-definitions-function 可以设置成 xref-show-definitions-completing-read 了,表示 xref 的选择定义时可以原生使用 minibuffer,以前 ivy 的话得用 ivy-xref, vertico/selectrum 的话得设置成 consult-xref.
  16. rcirc 提升非常大
    1. 支持 sasl 了
    2. 颜色支持好了
    3. 异步化
    4. IRCv3 协议支持
  17. erc 不熟悉,似乎是达到了单独在 ELPA 上发布的程度了。 PS: Emacs 开发者也是正在为 Emacs 的瘦身做准备中
  18. repeat-mode, C-x o C-x o 到 C-x o o. 没错正是在下提议的
  19. native-comp 合并了

其他的话可以自己看 NEWS.28 这个文件。

30 个赞