学习和开发Ruby & Rails已经一年多了.但是正式全职Rails项目的开发只有可怜的4个月经验.这期间我一直使用Netbeans 6.x作为开发工具,到目前为止我依然认为它是开发Ruby & Rails程序的最佳开发工具(我没用过最新出来的RubyMine,另外这是一个付费产品,我也不会付费用它,但也不会用D版).
在网上可以看到很到开发Rails的同学使用Vim这个神器来开发的(就在JaveEye也有不少).但是由于我的vim水平只局限于只会使用有限的几个命令( i, :w, :x, dd ).所以我一直都觉得用Vim来开发有点儿不可思议,另一个原来是我是从Java转到Ruby的,习惯使用IDE.
这种情况一直到某天夜晚, Arbow 同学出于某不可知的原因发了一个Vim for rails的图片链接给我看( 这里 ),于是发生了我一夜折腾Vim for Rails的惨剧.
试用了两天Vim for Rails,发现用起来并没有我想象中的那么难,相比于Netbeans的最大优点就是快!什么都快! 打开/查找文件,搜索等等,什么都快,什么操作基本上都是按下Enter之后,立马就出来了.启动速度更加不用说了.但是这个前提就是你得安装好你要用到的插件,另外还有一些vim的常用配置(以前我一听到配置,心里就开始打退堂鼓了,其实没那么恐怖的,只要你认真在网上学习一下,不得不说的是vim的配置在网上真是多到不得了).
安装VIM
我的开发机器用的操作系统是Ubuntu 9.04,所以下面的安装配置都是针对Linux系统的.我除了安装命令行界面的VIM外,还装了一个GUI界面的,为了可以独立启动它.
sudo apt-get install vim sudo apt-get install vim-gtk //很明示这个是gtk gui支持的vim,在命令行下面的启动命令是: gvim
提醒一下,Ubuntu系统默认安装的vim是一个简化版本,很多东西都不支持的,比如语法高亮.
如果要配置你的VIM,你还要两个配置文件(一个专门用于gvim的.),都是放在你的用户根目录下:
~/.vimrc 这个是vim的配置
set guifont=Monaco\ 11 " set guifontwide=WenQuanYi\ Zen\ Hei:h12:cGBK " 设定文件浏览器目录为当前目录 set bsdir=buffer " 设置编码 set enc=utf-8 " 设置文件编码 set fenc=utf-8 " 设置文件编码检测类型及支持格式 set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 " 设置开启语法高亮 syntax on "显示行号 set number " 查找结果高亮度显示 set hlsearch " tab宽度 set tabstop=4 set cindent shiftwidth=4 set autoindent shiftwidth=4 filetype plugin indent on " 把 F8 映射到 启动NERDTree插件 map <F8> :NERDTree<CR> " 把 CTRL-S 映射为 保存,因为这个操作做得太习惯了 imap <C-S> <C-C>:w<CR>
~/.gvimrc 这个是针对GUI界面的配置
"把gvim的菜单和工具栏隐藏掉,按F2可调出,再按隐藏 set guioptions-=m set guioptions-=T map <silent> <F2> :if &guioptions =~# 'T' <Bar> \set guioptions-=T <Bar> \set guioptions-=m <bar> \else <Bar> \set guioptions =T <Bar> \set guioptions =m <Bar> \endif<CR> " 启动gvim时窗口的大小 set lines=33 columns=113
插件
可以自己到 VIM网站 下载,一般来说zip,tar.gz打包的文件,直接解压放到 ~/.vim目录下就可以了,如果是 plugin_name.vim 文件就更加简单了,直接放到 ~/.vim/plugin下面,省心又省事. 在下载页面上一般都有一个 install Detail的说明,那就是安装说明,多看一眼,你会少走很多弯路的.
我安装的VIM插件,我是参考 http://linuxtoy.org/archives/ruby-rails-on-linux.html :
基本上vim for rails 已经可以用了.放上我的效果图:
使用
:NERDTree //我把这个命令映射到 F8 了,请看上面的配置文件.
#如果你要找一个文件 :Rfind routes.rb #如果你想打开一个model :Rmodel user #如果你想打开一个conotroller :Rcontroller users :Rcont users #如果你想打开一个view :Rview users/index :Rview users/_user #如果你的当前窗口的文件是在app/views/users/下的话 :Rview show #相当于 :Rview users/show #如果你当前光标是controller的index方法中,直接按 R 可以中转到视图文件 index.html.erb中 #其它的方法如 :Rserver #启动服务器 :Rserver! #停止服务器 :Rjavascript js_name #打开js文件 #还有很多,输入帮助命令自己看吧 :help rails
试用了两天,觉得还可以,效率很高,弄好那个配色之后,看着非常舒服,还有就是vim的速度,真的是非常快,什么都快.
Netbeans的长处在于文件,方法之间的跳转非常的方法,但是就是启动慢,查找的时候也比较慢,有时会有些不耐烦.
我还未决定是否会使用vim作为主力开发工具,毕竟Netbeans有很多我无法舍弃的优点,还有就是对快捷键的习惯(我以前用Java的时候,使用的是Eclipse,到现在使用netbeans还是使用Eclipse的快捷键,由此可见习惯是多么难改变).