emacs - 使 Emacs 美化符号模式适用于非空白分隔的单词。

标签 emacs elisp

Emacs 中新的美化符号模式非常适合翻译:

lambda something -> λ something

我还想做:
lambda.something -> λsomething

遗憾的是,默认情况下,prettify-symbols-mode 仅将空格识别为单词/符号分隔符。

关于如何使用 '.' 的任何想法作为 token 分隔符?

最佳答案

进行实际替换的代码是 prettify-symbols--compose-symbolprog-mode.el .如果单词之前或之后的字符具有字符类型单词或符号,则它会排除匹配项。在许多模式下,例如 emacs-lisp-mode .字符具有符号类型。

您可以更改 . 的语法代码在主要模式下,你可以告诉 font-lock在突出显示时使用不同的字符代码(有关详细信息,请参阅变量 font-lock-defaults),或者您可以在 prettify-symbols--compose-symbol 上做柔术模式,例如使用 defadvice 修改它或者干脆用你自己的替换它。

关于emacs - 使 Emacs 美化符号模式适用于非空白分隔的单词。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24454844/

相关文章:

emacs - 如何强制emacs重新着色

emacs - EMMS : Error: "Don' t know how to play track"

emacs - 是否有关于如何使用 emacs 的优秀教程?

elisp - 如何插入反斜杠?

emacs - Emacs中如何构建函数关联表?

emacs - 使用 org-indent-mode 时如何用适当的缩进包装列表?

emacs - GNU Emacs 中的 PATH(由 setenv 设置)和 exec-path 之间到底有什么区别?

debugging - elisp `trace-function` 不产生跟踪

Emacs:与 TAB 的键绑定(bind)会破坏 minibuffer 中的自动完成功能

emacs - 如何修复 *Backtrace* 缓冲区中损坏的文本 (emacs)