使Emacs美化符号模式在非空格分隔的单词上工作。

使Emacs美化符号模式在非空格分隔的单词上工作。,emacs,elisp,Emacs,Elisp,Emacs中新的“美化符号”模式在翻译方面效果极佳: lambda something -> λ something 我还想提出: lambda.something -> λsomething 遗憾的是,“美化符号”模式默认情况下仅将空格识别为单词/符号分隔符 有没有关于如何使用“.”作为标记分隔符的想法?实际替换的代码是美化符号-在prog mode.el中合成符号。如果单词前后的字符具有字符类型单词或符号,则排除匹配项。在许多模式中,例如emacs lisp模式字符具有符号类

Emacs中新的“美化符号”模式在翻译方面效果极佳:

lambda something -> λ something
我还想提出:

lambda.something -> λsomething
遗憾的是,“美化符号”模式默认情况下仅将空格识别为单词/符号分隔符


有没有关于如何使用“.”作为标记分隔符的想法?

实际替换的代码是
美化符号-在
prog mode.el
中合成符号。如果单词前后的字符具有字符类型单词或符号,则排除匹配项。在许多模式中,例如
emacs lisp模式
字符具有符号类型


您可以在主模式下更改
的语法代码,也可以告诉
字体锁定
在突出显示时使用不同的字符代码(有关详细信息,请参阅变量
字体锁定默认值
),或者你可以在
美化符号-合成符号
模式下使用ju-jutsu,就像使用
defadvice
修改符号一样,或者简单地用自己的符号替换它。

多亏了Lindydancer,我最终做到了:

(add-hook 'python-mode-hook
          (lambda ()
            (push '("self" . ?◎) prettify-symbols-alist)
            (modify-syntax-entry ?. ".")))
这导致合理的折衷输出:

◎.method

我使用“漂亮”模式,这种行为是默认的,可能只是切换到那个模式。您使用的是什么语言?@JordonBiondo,这是一个不错的选择,但是
美化符号模式
有内置到Emacs中的好处(我想是从24.3版开始)。是的。我希望保持“美化符号”模式,因为它随Emacs(现在)一起提供,并且看起来非常稳定。我在“漂亮符号”模式下遇到过问题,但我没有尝试过“漂亮符号”模式。为了回答Jordon的问题,我打算将Python中的self.method可视化压缩为◎方法。