Emacs中新的美化符号模式可以很好地用于翻译:
lambda something -> λ something
我也想:
lambda.something -> λsomething
可悲的是,美化符号模式默认只将空格识别为字/符号分隔符。
关于如何使用'。'的任何想法作为代币分隔符?
答案 0 :(得分:2)
执行替换的代码是prettify-symbols--compose-symbol
中的prog-mode.el
。如果单词之前或之后的字符具有字符类型 word 或 symbol ,则排除匹配。在许多模式中,例如emacs-lisp-mode
.
字符具有符号类型。
您可以在主要模式下更改.
的语法代码,您可以告诉font-lock
在突出显示时使用不同的字符代码(有关详细信息,请参阅变量font-lock-defaults
),或者您可以在prettify-symbols--compose-symbol
模式下执行ju-jutsu,例如使用defadvice
进行修改,或者只需将其替换为您自己的模式。
答案 1 :(得分:2)
感谢Lindydancer,我最终做到了这一点:
(add-hook 'python-mode-hook
(lambda ()
(push '("self" . ?◎) prettify-symbols-alist)
(modify-syntax-entry ?. ".")))
导致合理的折衷输出:
◎.method