使用 Emacs 开发 Rails 应用
本页面涉及使用 Emacs 搭建 Ruby 以及 Rails 开发环境的相关主题。
目录
- [安装 Emacs]
- [使用 ELPA 安装所需插件]
- [自己动手 DIY]
安装 Emacs
访问 GNU 北京交通大学镜像站点:http://mirror.bjtu.edu.cn/gnu/emacs/, 下载最新版本的 Emacs 压缩包 (扩展名 tar.bz2, 好几十兆容量那个). 如果使用 windows, 则可以进入 windows 目录下下载对应压缩包。
-
解压缩。例如:Emacs_23.4.tar.bz2, 在 Windows 下,直接使用 Winrar 解压缩即可。 在 Linux 下,使用如下命令解压缩。
tar xvf emacs-23.4.tar.bz2
在 Windows 安装 Emacs
在 Windows 下安装 Emacs, 相对来说简单的多,假设你解压缩到了 D:\Emacs 文件夹下,只需要以下两步即可:
- 增加 D:\emacs\bin 文件夹到系统路径。
- 设定你的家目录,假设你新建了一个 d:\zw963 目录,则需要添加:HOME = "d:\zw963"
- 如果你使用 cgwin, 添加 CYGWIN = "nodosfilewarning", 不使用可以不设置。
- 运行 addpm, 会在桌面创建一个 Emacs 快捷方式。
在 Linux 下面安装 Emacs
Linux 下面一般自带 Emacs. 如果版本过老,希望安装新版本,甚至比 Windows 下还要傻瓜。
- 进入解压缩目录,如果你按照我上面的操作解压缩,应该会看到一个 emacs-23.4 的目录。
- 键入./configure 回车。等待提示完成。
- 键入 make 回车,等待提示完成,这一步可能比较久,如果是双核机器,添加-j2 参数,速度会显著提升。
- 键入 make install, 等待安装完成。可以 make install-strip, 安装下来的容量稍小一些。
- emacs -v |head -n1, 你应该能看到当前安装的 Emacs 版本信息。
(建议看看 Emacs 的 INSTALL, 对于初次接触 linux 的新手有很大的帮助)
使用 ELPA 安装所需插件
Emacs 使用你的家目录下的.emacs.d 作为脚本配置目录。在 Windows 下,这个目录创建都是个问题. 我记得可以通过命令行下的 md 命令创建的。如果实在不行,运行 Emacs, 应该会在你的家目录下 自动生成这个目录。
下面讲如何设置 ELPA, 如果你使用 Emacs24, 据说已经内置了。可以直接跳过一下介绍。
-
初次启动 Emacs, 你会看到一个叫做*Scratch*的 buffer. 如果没有,使用 C-x b, 键入
scratch
, 回车,切换到这个缓冲区,将以下 elisp 代码粘帖到进来.(快捷键 Ctrl-y). 并将光标挪到在最后一个 括号之后,键入 C-x C-e (注意,此时 Ctrl 键按着不需要放开的).(let ((buffer (url-retrieve-synchronously "http://tromey.com/elpa/package-install.el"))) (save-excursion (set-buffer buffer) (goto-char (point-min)) (re-search-forward "^$" nil 'move) (eval-region (point) (point-max)) (kill-buffer (current-buffer))))
正常情况下,如果网络畅通无阻,应该看到一个安装的过程,等待安装完成。
安装完成后,键入 M-x, 输入 package-list-package. 会看到一个包管理系统,里面有大量的插件 可供安装选择。操作很简单,C-n, C-p 上下移动,通过 i 选择需要安装的插件,取消选择,backspace, 选择完毕后,键入 x 键,确认执行安装即可。
安装以下插件: ruby-mode, inf-ruby, auto-complete, yasnippet, ido, flymake-ruby, rvm, rinari, rspec-mode, yaml-mode, haml-mode, feature-mode, find-file-in-project, yari.
以上步骤如果你嫌麻烦,还有一个简单的办法,就是使用 emacs-starter-kit. 详细情况:可以查看以下网址: http://eschulte.me/emacs-starter-kit/starter-kit.html
自己动手 DIY
如果你觉得这就算是装完了,那就大错特错了,事实上,这才刚刚开始。
而且个人强烈不建议使用 ELPA 或者 start-kit. 因为,它们只会把你的 Emacs 搞乱。你甚至完全不知道什么文件在什么地方,而且强加给你一些你并不需要的特性,更郁闷的是,这些特性,你甚至不知道从哪里加进去的。这极大的削弱了使用 Emacs 的意义,另外,想让这些插件一起好好的工作,可不是一件简单的事情,不说别的,这一大堆插件,光快捷键冲突问题,就会让你崩溃掉。所以说,如果你没有耐心也不打算自己慢慢整理这些东西,建议你还是选择类似于 Rubymine4 的那种优秀 Ruby IDE. 如果你真打算跟我一起折腾,其实我要告诉你,折腾 Emacs, 远比你想象的要容易的多,前提是遵循以下步骤:
- 上 Google 或者 Wiki 搜索你需要的插件,相信我,永远不要上百度,因为哪里什么也得不到
- 几乎所有的插件,都是在 github 上存放,你可以采用 git 或者下载的方式,下载所需的插件。大多数情况下,都是一个扩展名为 el 的文件,偶尔会多于一个。不过其中肯定有一个文件是主文件,其他文件被这个主文件调用而已。
- 在你的 home 目录下的,创建一个叫做.emacs 的文件,并添加很短的几行的代码,加载所需插件。当然这一步说起来简单,等你使用一段时间后,会发现代码量的增加还是很客观的。以我的 Emacs 个人插件为例,代码量太多,分为了以下六个文件:
- ~/.emacs.d/.emacs 这是主文件,这个文件内包含大量公共设置以及调用下面六个文件。
- ~/.emacs.d/my-customize-function.el 这个文件多数全都是自己编写的函数。
- ~/.emacs.d/my-customize-keybinding.el 这个文件里全都是快捷键设置。上百个不同的快捷键。
- ~/.emacs.d/my-customize-ido-setting.el 全都是跟 ido 有关的设置...
- ~/.emacs.d/my-customize-org-setting 全都是跟 org-mode 有关的设置。
- ~/.emacs.d/my-customize-ruby-setting 全都是跟 ruby 有关的设置。
- ~/.emacs.d/my-customize-gnus-setting 泡新闻组和发邮件用的 Gnus 设置,有一阵子常用,最近没怎么用. 最后,~/.emacs.d/.emacs 这个文件,被.emacs.d/init.el 下面的 init.el 调用。而 init.el, 如果不存在~/.emacs, 会被 Emacs 自动调用. 这样的做的好处是显而易见的。例如:社区内一个哥们儿想试用我的脚本,我打了个包发给他 (14 兆多,汗~), 然后他在 OS X 下,只需要解压缩到 home 下面,重新启动 Emacs, 一次成功。虽然我是 linux, 他是 OS X, 但是 Emacs 的脚本全部都是 LISP, 跟系统无关的。而所有跟插件有关的东西,都在.emacs.d 这个目录下,你只要确保,不要在 home 下新建一个.emacs 文件,就可以了。
总结下来,DIY Emacs 其实相当简单:
- 从 github 下载所需的插件。这可以确保总是最新的版本。
- 放到插件的加载路径当中,这类似于 Ruby gems 的加载路径,只需要添加一行代码即可。
- require 所需的插件。和 Ruby 如出一辙。
- 有些插件有些额外的个性化设定,自己设一下初始值。
- 重新启动 Emacs 或 Emacs Server (daemon), 应用新的设置,开始工作。