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