2013-05-08 82 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