【问题标题】:How to use emacs prettify-symbols-mode?如何使用 emacs 美化符号模式?
【发布时间】:2014-10-30 15:34:56
【问题描述】:

我有 emacs 版本 25.0,我启用了prettify-symbols-mode,并输入了(lambda () t),但它并没有美化。如何使用此模式?还有哪些符号可用,我该如何配置它?任何参考都表示赞赏。

编辑:scratch 缓冲区和Markdown 模式下没有发生任何事情,但是当我在Emacs-lisp 模式下尝试时,它确实美化了,但现在我得到了一个问号而不是lambda 符号,我该如何解决?

编辑:我问了相关问题here

编辑:这个SO question解决了unicode问题。

【问题讨论】:

  • @Chris,我修复了 unicode 问题,请查看我的编辑。

标签: emacs


【解决方案1】:

prettify-symbols-mode 是本地缓冲区。如果要全局启用,请使用global-prettify-symbols-mode

您看到的问号可能是因为 Emacs 找不到包含 lambda 字符的字体。尝试切换到像 DejaVu Sans Mono 这样支持良好 Unicode 的字体。

我相信只有 Lambda 可以开箱即用,并且只能在 emacs-lisp-mode 缓冲区中使用。从启用了prettify-symbols 的缓冲区中检查prettify-symbols-alist 的值,以查看当前的替换表。

如果你想为其他符号添加美化,你可以这样做,来自C-h f prettify-symbols-mode RET

(add-hook 'emacs-lisp-mode-hook
          (lambda ()
            (push '("<=" . ?≤) prettify-symbols-alist)))

【讨论】:

  • 我尝试了global-prettify-symbols-mode,但没有成功,如何配置这些符号以及可用的符号,例如-&gt; 是否美化? \ 关于字体,我的终端已经使用了 Dejavu Sans,我可以在 shell 上看到 lambda,我是否必须为 emacs 设置字体,我该怎么做?我的终端使用 mintty。
  • 我如何自己插入一个 lambda 符号,并在 emacs 上测试这个 unicode 支持,例如我输入 C-x 8 CCBB 并显示 \uCCBB,我希望它显示希腊 lambda 符号。
  • @user3995789,请参阅我的更新答案。要手动插入 Unicode lambda,请尝试 C-x 8 RET GREEK SMALL LETTER LAMBDA RET。您应该能够使用 tab(或 Helm 或 ido,如果您使用其中之一)来完成角色的名称。您还可以从包含正确 Unicode 字符的文档中复制和粘贴。
  • 谢谢您的回答,我在插入 lambda 时收到\u03BB,如何配置 emacs 以支持 unicode 符号?我需要希腊符号。
猜你喜欢
  • 1970-01-01
  • 2014-12-19
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 2018-03-29
相关资源
最近更新 更多