2013-05-08 83 views
1

我正在嘗試創建Emacs & ESS中的「評估緩衝區直到此處」的密鑰綁定,該位置位於ESS => ESS Eval菜單中。該菜單中的大多數命令都列在幫助文件(http://ess.r-project.org/Manual/ess.html和Emacs選項)中,但這個特定的命令不是。如果我把下面的.emacs文件代碼:評估緩衝區直到光標

(eval-after-load "ess-mode" '(define-key ess-mode-map (kbd "C-.") 'ess-eval-buffer-till-here)) 

我在嘗試使用綁定時,下面的消息:Symbol´s function definition is void: ess-eval-buffer-till-here。顯然,我要求錯誤的名字。這個命令的正確名稱是什麼,以及我如何看到所有的ESS命令?

回答

2

所以這是一個菜單項?類型C-hk然後選擇該項目。

(菜單被實現爲鍵盤映射,所以這只是正常的describe-key功能。)

您還可以看到的最後一個命令的非交互式通話形式CXESCESCCxM-:。一旦有了這個命令名,很容易找出命令名。 (感謝event_jr)

上市的所有命令,大多數模式將列出他們所有的鍵綁定在自己的文檔字符串,所以你可以使用C-H 米描述在緩衝區使用模式。

由於可能存在的命令,無須綁定,您還可以使用M-Xapropos-command全部列出來(最有可能指定^ess作爲一種模式,如果它使用的是作爲一個一致的命名空間)。

+0

我解開了其中一個編輯。你修好了。我的錯。 – 2013-05-08 12:59:04

+0

沒問題:)(我相信網站至少會在發生這種情況時提醒你) – phils 2013-05-08 13:04:06

+0

不錯!這個命令叫做'ess-eval-buffer-from-beg-to-here',所以'(eval-after-load「ess-mode」'(define-key ess-mode-map(kbd「C-」)。 )'ess-eval-buffer-from-beg-to-here))'工作。謝謝! – Mikko 2013-05-08 13:23:39