为什么clojure-mode用一些卷曲的f字符替换fn?

时间:2011-05-07 11:38:56

标签: emacs clojure

我刚刚开始使用emacs入门套件& Clojure的模式。现在,当我在clojure模式下将“(fn”键入或粘贴到缓冲区中时,“fn”字符在窗口中被替换为略微卷曲的小写f。缓冲区被正确保存,但它非常烦人,特别是当我发现这个功能时很困难 - 对某人的'不可能'代码片段感到困惑,然后在光线昏暗之前将其编辑成单行。知道为什么会这样做,或者更重要的是,如何关闭它?

3 个答案:

答案 0 :(得分:6)

在加载starter-kit-lisp之后,可以通过在init.el添加以下行来关闭它。

(remove-hook 'clojure-mode-hook 'esk-pretty-fn)

然后重新加载Emacs以使其生效。

答案 1 :(得分:4)

很抱歉回答我自己的问题。它在starter-kit-lisp.el中。查找从(eval-after-load 'clojure-mode开始的行。

答案 2 :(得分:0)

在emacs live中,您可以使用以下命令禁用此行为:

~/.emacs.d/packs/live/clojure-pack/config/clojure-conf.el评论这些内容:

;;(eval-after-load 'clojure-mode
;;  '(font-lock-add-keywords
;;    'clojure-mode `(("(\\(fn\\)[\[[:space:]]"
;;                     (0 (progn (compose-region (match-beginning 1)
;;                                               (match-end 1) "λ")
;;                               nil))))))
;;
;;(eval-after-load 'clojure-mode
;;  '(font-lock-add-keywords
;;    'clojure-mode `(("\\(#\\)("
;;                     (0 (progn (compose-region (match-beginning 1)
;;                                               (match-end 1) "ƒ")
;;                               nil))))))
;;
;;(eval-after-load 'clojure-mode
;;  '(font-lock-add-keywords
;;    'clojure-mode `(("\\(#\\){"
;;                     (0 (progn (compose-region (match-beginning 1)
;;                                               (match-end 1) "∈")
;;                               nil))))))

重新启动emacs,没有更多花哨的符号。