Answers:
您创建一个模式挂钩,它将替换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)
make-char
只是在那里支持22?
XXX-mode-hook
答案中定义的a 和这个自定义变量之间的区别吗?或至少指出我有用的文档?
xxx-mode-hook
通常是run-hooks
该模式与- 一起运行的钩子的名称xxx
。即emacs-lisp-mode-hook
在emacs-mode
调用函数时运行。在这种情况下,不运行任何钩子,而是向钩子添加了一个函数。有关更多信息,请参见Elisp手册(挂钩)。
(add-hook 'emacs-lisp-mode-hook 'some-function)
但是(add-hook 'sm-lambda-mode-hook 'some-function)
除非有一些代码可以做到,否则它永远不会起作用(run-hooks 'sm-lambda-mode-hook)
。
sm-lambda-mode-hook
用sm-replace-lambda
或来重命名sm-greek-lambda
。XXX-mode-hook
通常用于标识run-hook
由指定模式运行的钩子,因此您可以使用它add-hook
。