Emacs:如何在方案模式下插入“λ”而不是“lambda”?

Emacs:如何在方案模式下插入“λ”而不是“lambda”?

很久以前,我遇到了一个文本编辑器功能,它将单词“lambda”替换为字符“λ”。我想在 emacs 中执行此操作。我的喜好:

  • 我想仅在某些模式下激活此功能(例如,在Scheme模式下激活它,但在C模式下关闭它)。

  • 在工作中我仍然使用旧版本的 emacs,因此该解决方案应该适用于 emacs22 和 emacs23。

我应该如何进行?

答案1

您创建一个模式挂钩,lambda用希腊字符替换。

   (defun sm-greek-lambda ()
       (font-lock-add-keywords nil `(("\\<lambda\\>"
           (0 (progn (compose-region (match-beginning 0) (match-end 0)
           ,(make-char 'greek-iso8859-7 107))
           nil))))))

然后将此挂钩添加到您的模式中:

   (add-hook 'emacs-lisp-mode-hook 'sm-greek-lambda)

相关内容