从emacs缓冲区运行ruby

如何从缓冲区运行ruby代码而不实际将缓冲区保存在文件中? 一种情况是a)切换到暂存缓冲区b)Mx ruby​​-mode c)类型ruby代码d)“编译”缓冲区并将结果打印在另一个缓冲区中。 我不想将缓冲区内容保存在文件中,然后“编译”该文件

更新1-9-2011哪些是ruby-mode和inf-ruby的最新版本,我在哪里可以获得它们? 我使用ubuntu natty版本的ruby模式和emacs 23.2的inf-ruby的elpa版本。 在干净的emacs配置中,以下配置(请参阅下面的内容)失败:

无法将nil转换为String 
来自(irb):1:在'eval'中 
 from(irb):1“。 

配置如下,emacs.d中没有其他配置指令:

 (需要'ruby-mode)
 (加载文件“Configs / .emacs.d / elpa / inf-ruby-2.1 / inf-ruby.el”)

 (autoload'inf-ruby“inf-ruby”“运行劣质Ruby进程”t)
 (autoload'inf-ruby-keys“inf-ruby”“”t)
 (eval-after-load'ruby-mode
   '(add-hook'ruby-mode-hook'inf-ruby-keys))

你可以用inf-ruby.el做到这inf-ruby.el

安装inf-rubyMx inf-ruby在后台启动一个新的ruby解释器,你可以使用ruby-send-*命令发送代码,例如ruby-send-region (默认绑定到Cc Cr )。 要发送整个缓冲区,请选择所有Cx h然后点击Cc Cr

更新,2011-09-02:最新版本的inf-ruby.el (2.1.1,在ELPA中可用)是由github上的’nonsequitur’维护的,并且快照包在Melpa中可用。

您可以尝试一些选项

1.来自Github的 Rinari

它声称是

旨在使Emacs成为一流的Ruby和Rails开发环境

2. ruby​​-compilation.el就是你所需要的。

这里有一个post我已经使用并发现有用。

克里斯