Emacs support for Ruby and Rails

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
 
(未显示2个用户的3个中间版本)
第1行: 第1行:
 
获得 modle
 
获得 modle
 
  http://www.hyperionreactor.net/files/emacs-ruby-rails-1.0.zip
 
  http://www.hyperionreactor.net/files/emacs-ruby-rails-1.0.zip
  解压后将相关的 .el copy 到 /etc/emacs/site-start.d/
+
  cd /usr/share/emacs/site-lisp
 +
unzip emacs-ruby-rails-1.0.zip
 
修改 /etc/emacs/site-start.el
 
修改 /etc/emacs/site-start.el
  
支持 Ruby  
+
(setq load-path (append load-path '("/usr/share/emacs/site-lisp/emacs-ruby-rails")))
  (require 'ruby-mode)
+
 
 +
;;说明ruby-mode模式调用哪个函数块
 +
(autoload 'ruby-mode "ruby-mode"
 +
      "Mode for editing ruby source files" t)
 +
;;看到文件后缀为.rb的,对其使用ruby-mode模式,然后它会调用autoload中
 +
;;指定的函数块
 +
(setq auto-mode-alist
 +
          (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
 +
;;如果文件后缀名不为.rb,但是脚本第一行有#!ruby之类的说明
 +
;;也相应调用此ruby模式
 +
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
 +
                                    interpreter-mode-alist))
 +
;;调用inf-ruby
 +
(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)))
 +
;;使用ruby-electric次模式
 
  (require 'ruby-electric)
 
  (require 'ruby-electric)
支持 Ruby on Rails
+
(defun try-complete-abbrev (old)
  (defun try-complete-abbrev (old)
+
  (if (expand-abbrev) t nil))
(if (expand-abbrev) t nil))
+
 
 
  (setq hippie-expand-try-functions-list
 
  (setq hippie-expand-try-functions-list
'(try-complete-abbrev
+
      '(try-complete-abbrev
try-complete-file-name
+
        try-complete-file-name
try-expand-dabbrev))
+
        try-expand-dabbrev))
 +
;;使用rails模式
 +
(require 'rails)
 +
 
 +
使用C-h v load-path,看看是否载入了emacs-ruby-rails。默认情况下都会载入。
 +
 
 +
M-x ruby-electric-mode
 +
ruby-electric-mode的作用是有自动补全的功能,比如你输入一个",它会自动给你输入另一个"。
 +
 
 +
M-x run-ruby来打开irb
 +
 +
irb(main):001:0> def hello
 +
def hello
 +
                    puts "hello"
 +
puts "hello"
 +
                    end
 +
end
 +
nil
  
(require 'rails)
+
[[category:emacs]]
 +
[[category:ruby]]

2013年1月23日 (三) 14:50的最后版本

获得 modle

http://www.hyperionreactor.net/files/emacs-ruby-rails-1.0.zip
cd /usr/share/emacs/site-lisp
unzip emacs-ruby-rails-1.0.zip

修改 /etc/emacs/site-start.el

(setq load-path (append load-path '("/usr/share/emacs/site-lisp/emacs-ruby-rails")))
;;说明ruby-mode模式调用哪个函数块
(autoload 'ruby-mode "ruby-mode"
      "Mode for editing ruby source files" t)
;;看到文件后缀为.rb的,对其使用ruby-mode模式,然后它会调用autoload中
;;指定的函数块
(setq auto-mode-alist
          (append '(("\\.rb$" . ruby-mode)) auto-mode-alist))
;;如果文件后缀名不为.rb,但是脚本第一行有#!ruby之类的说明
;;也相应调用此ruby模式
(setq interpreter-mode-alist (append '(("ruby" . ruby-mode))
                                    interpreter-mode-alist))
;;调用inf-ruby
(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)))
;;使用ruby-electric次模式
(require 'ruby-electric)
(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))
(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))
;;使用rails模式
(require 'rails) 

使用C-h v load-path,看看是否载入了emacs-ruby-rails。默认情况下都会载入。

M-x ruby-electric-mode

ruby-electric-mode的作用是有自动补全的功能,比如你输入一个",它会自动给你输入另一个"。

M-x run-ruby来打开irb

irb(main):001:0> def hello
def hello
                   puts "hello"
puts "hello"
                   end
end
nil
分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱