Emacs : Scheme 모드에서 ‘lambda’대신 ‘λ’를 삽입하는 방법은 무엇입니까? : 특정 모드에서만이 기능을 활성화하고 싶습니다 (예

오래 전에 ‘lambda’라는 단어를 ‘λ’문자로 대체 한 텍스트 편집기 기능을 발견했습니다. 이맥스에서 이것을하고 싶습니다. 내 환경 설정 :

  • 특정 모드에서만이 기능을 활성화하고 싶습니다 (예 : Scheme 모드에서는 활성화하고 C 모드에서는 끄십시오).

  • 직장에서는 여전히 이전 버전의 emacs를 사용하므로 솔루션은 emacs22 및 emacs23에서 작동합니다.

어떻게 진행해야합니까?



답변

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)