2014-09-12 84 views
7

我想學習Common Lisp並通過emacs包管理器安裝了emacs(24.3)和slime。如何在SLIME的REPL中獲得常用lisp的語法高亮顯示?

在粘液REPL語法高亮不起作用。另一方面,當我啓動Lisp-Mode(同時在粘液REPL中)時,表達式的值不再被打印(當我鍵入時,說「Hello World」並敲回車,我得到一個新行,而不是。表達式的值

(如果我打開口齒不清文件語法高亮工程)

+1

究竟哪裏語法高亮沒有工作你在說什麼? * .lisp緩衝區或REPL或兩者兼而有之?您可能還想爲您的問題添加常見的lisp標記以提高可視性。 – schaueho 2014-09-12 13:52:56

+0

我正在談論REPL。 – user3691571 2014-09-13 19:18:07

+1

添加標籤並編輯問題,希望現在更清楚。 – user3691571 2014-09-13 19:20:12

回答

3

這對我的作品 (http://compgroups.net/comp.emacs/tweaking-slime/95455):

(defvar slime-repl-font-lock-keywords lisp-font-lock-keywords-2) 
(defun slime-repl-font-lock-setup() 
    (setq font-lock-defaults 
     '(slime-repl-font-lock-keywords 
     ;; From lisp-mode.el 
     nil nil (("+-*/.<>=!?$%_&~^:@" . "w")) nil 
     (font-lock-syntactic-face-function 
     . lisp-font-lock-syntactic-face-function)))) 

(add-hook 'slime-repl-mode-hook 'slime-repl-font-lock-setup) 

(defadvice slime-repl-insert-prompt (after font-lock-face activate) 
    (let ((inhibit-read-only t)) 
    (add-text-properties 
    slime-repl-prompt-start-mark (point) 
    '(font-lock-face 
     slime-repl-prompt-face 
     rear-nonsticky 
     (slime-repl-prompt read-only font-lock-face intangible))))))