2011-10-14 225 views
1

我是emacs的新手,所以我需要簡單的提示。我想用Command-RET到EVAL最後表達 - 要做到這一點:emacs密鑰綁定

Clojure的-mode.el:

(define-key map "\C-x\C-e" 'lisp-eval-last-sexp) 

而且我不希望改變原有的Clojure-mode.el文件。我如何定義將執行C-x \ C-e的鍵綁定,並且會調用'lisp-eval-last-sexp?這將是對我很好的解決方案,因爲我不能命令RET直接綁定:

local-set-key 

爲「口齒不清-EVAL-最後SEXP,Emacs中找不到此功能。

在此先感謝, 鮑爾泰克

更新:

最終事實證明,我需要寫:

M-x 
describe-key 
^X ^E 

,並返回我:

^X ^E runs the command slime-eval-last-expression, which is an 
interactive Lisp function in `slime.el'. 

It is bound to ^X ^E, <menu-bar> <SLIME> <Evaluation> <Eval Last 
Expression>, <A-return>. 

(slime-eval-last-expression) 

Evaluate the expression preceding point. 

[back] 

然後我結合我的鑰匙的功能

'slime-eval-last-expression 

感謝您的幫助:)

+0

銥應該是'EVAL-最後sexp'不'口齒不清-EVAL-最後所sexp'? –

+0

nope,它的工作方式不同 – bartek

+0

請參閱下面的答案。試試eval-print-last-sexp,這就是C-j在我的emacs中綁定的東西。 – ditkin

回答

1

我相信你想將其設置爲EVAL-打印最後SEXP代替。這就是C-j所必須的。

2

您可以重新綁定在你的.emacs鍵文件你沒有需要改變的Clojure-mode.el,

(add-hook 'clojure-mode-hook 
       '(lambda() 
        (define-key clojure-mode-map 
        "\e\C-x" 'lisp-eval-defun))) 
+0

你在'define-key'中是否缺少'\ C-'? – pmr

+0

我注意到它,而從我的.emacs複製,但它的作品:) –

+0

奇怪,但很高興知道。無論如何可能要修復它,所以這更清晰。不知道什麼magick正在這裏。 – pmr