对于那些没有使用DrScheme的人,窗口分为两部分:一部分是你正在编辑的文件,另一部分是交互式shell。当我运行一个文件时,它被加载到交互式环境中,所以我可以调用我定义的函数等。交互式环境仍然具有文本编辑器的所有功能(语法高亮,自动完成等等)
那么有一个用于Ruby的IDE不仅可以执行我正在编写的脚本,而是将其加载到irb中,而不是所有文本编辑器的好东西?
答案 0 :(得分:4)
这个确切的要求(即使是Dr博士推动它的事实)也是最终促使我学习Emacs的原因。
以下是我在Windows Vista下安装它的方法:
从http://ftp.gnu.org/gnu/windows/emacs/emacs-22.3-bin-i386.zip
将其解压缩到您选择的目录
解压缩后,在任意位置创建一个 includes 目录,并在那里复制 ruby-mode.el 和 ruby-inf.el (这些都带有misc目录下的ruby发行版,也可以从Ruby's source下载
修改您的 .emacs ,告诉它在哪里找到您的包含并使用它们
; directory to put various el files into (add-to-list 'load-path "C:/emacs-22.3/includes") ;(1)modify .emacs to use ruby-mode (autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files" t) (setq auto-mode-alist (append '(("\\.rb$" . ruby-mode)) auto-mode-alist)) (setq interpreter-mode-alist (append '(("ruby" . ruby-mode)) interpreter-mode-alist)) ;(2)set to load inf-ruby and set inf-ruby key definition in ruby-mode. (autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process") (autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode") (add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys) ))
(可选)我还从http://perso.tls.cena.fr/boubaker/distrib/mode-compile.el安装了 mode-compile.el 并在.emacs中进行了相应的编辑
; Install mode-compile (autoload 'mode-compile "mode-compile" "Compile current buffer based on the major mode" t) (global-set-key "C-cc" 'mode-compile) (autoload 'mode-compile-kill "mode-compile" "Kill compilation launched by `mode-compile'" t) (global-set-key "C-ck" 'mode-compile-kill)
通过这些更改,Emacs会自动将.rb文件识别为ruby并进行语法突出显示。然后使用和弦\ Cc \ Cs(Control-c,release然后是Control-s)irb将从文件下方的框中开始,你可以使用inf-ruby定义的所有键:(\ M是Meta Key对于Windows来说意味着Alt)
"\C-c\C-b" 'ruby-send-block
"\C-c\M-b" 'ruby-send-block-and-go
"\C-c\C-x" 'ruby-send-definition
"\C-c\M-x" 'ruby-send-definition-and-go
"\C-c\C-r" 'ruby-send-region
"\C-c\M-r" 'ruby-send-region-and-go
"\C-c\C-z" 'switch-to-ruby
"\C-c\C-l" 'ruby-load-file
"\C-c\C-s" 'run-ruby
如果您执行了可选步骤并安装了mode-compile,您还可以使用\ C-cc将当前文件发送到ruby而不是irb
答案 1 :(得分:1)
我还没有和DrScheme合作过,但Netbeans 6.5包含了一个功能齐全的IRB。你试过试试吗?