学习和开发Ruby & Rails已经一年多了.但是正式全职Rails项目的开发只有可怜的4个月经验.这期间我一直使用Netbeans 6.x作为开发工具,到目前为止我依然认为它是开发Ruby & Rails程序的最佳开发工具(我没用过最新出来的RubyMine,另外这是一个付费产品,我也不会付费用它,但也不会用D版).
在网上可以看到很到开发Rails的同学使用Vim这个神器来开发的(就在JaveEye也有不少).但是由于我的vim水平只局限于只会使用有限的几个命令( i, :w, :x, dd ).所以我一直都觉得用Vim来开发有点儿不可思议。
试用了两天Vim for Rails,发现用起来并没有我想象中的那么难,相比于Netbeans的最大优点就是快!什么都快! 打开/查找文件,搜索等等,什么都快,什么操作基本上都是按下Enter之后,立马就出来了.启动速度更加不用说了.但是这个前提就是你得安装好你要用到的插件,另外还有一些vim的常用配置(以前我一听到配置,心里就开始打退堂鼓了,其实没那么恐怖的,只要你认真在网上学习一下,不得不说的是vim的配置在网上真是多到不得了).
安装VIM
我的开发机器用的操作系统是Ubuntu 9.04,所以下面的安装配置都是针对Linux系统的.我除了安装命令行界面的VIM外,还装了一个GUI界面的,为了可以独立启动它.
Shell代码
- sudo apt-get install vim
- sudo apt-get install vim-gtk //很明示这个是gtk gui支持的vim,在命令行下面的启动命令是: gvim
提醒一下,Ubuntu系统默认安装的vim是一个简化版本,很多东西都不支持的,比如语法高亮.
如果要配置你的VIM,你还要两个配置文件(一个专门用于gvim的.),都是放在你的用户根目录下:
~/.vimrc 这个是vim的配置
Java代码
- 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界面的配置
Java代码
- "把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 :
- rails.vim 这个是rails的插件,必不可少的.
- snipMate 这个就是号称让VIM跟MAC下的神器TextMate有同样表现的插件,也是必装的.
- NERD_tree 显示目录树,我觉得比那个Project.vim要好用多了,所以我没有装Project.vim
- supertab.vim
- NERD_commenter.vim 快捷来加删comment的,不过我好像还没用过.
- lookupfile.vim 找文件,如果你只是用来开发rails的话,可以不用.
- bufexplorer.vim buffer切换
- genutils.vim
- javascript.vim
- blackboard.vim 这个就是模仿TextMate的配色,很重要.
- Monaco字体 这个不是插件,不过这个字体很漂亮 下载地址: http://www.webdevkungfu.com/textmate-envy-aka-monaco-font-for-windows/
基本上vim for rails 已经可以用了.放上我的效果图:
使用
- 不是所有的vim插件都会自动启用的.一般的vim插件都是要使用命令来启动的,我刚用的时候不知道这个,抓狂了一阵子.比如你要使用NERDTree插件,要先输入如下命令:
Java代码
- :NERDTree
- //我把这个命令映射到 F8 了,请看上面的配置文件.
- rails.vim插件只有一个全局的命令Rails,这个会新建一个Rails项目.
- 其它的rails.vim的命令都是要找开了Rails项目的文件才能使用的,这个我很是郁闷.比如你想查找一个user.rb文件打开,本来是应该使用 Rfind user.rb ,但是由于你的VIM没有打开任何Rails项目中的文件,这个命令不可用!!
- 下面说说我一般的使用方法:
- 打开vim,先cd ~/my_project_path
- 按一下F8,启动NERDTree插件,把我的项目目录树显示出来.
- 一般rails使用命令:
Ruby代码
- #如果你要找一个文件
- :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
- 不要使用 :Rlog 在vim上看日志文件,因为我用的时候,发现它更新时很慢,要等一下才会输出.还是老实地在终端上用 tail吧.
试用了两天,觉得还可以,效率很高,弄好那个配色之后,看着非常舒服,还有就是vim的速度,真的是非常快,什么都快.
Netbeans的长处在于文件,方法之间的跳转非常的方法,但是就是启动慢,查找的时候也比较慢,有时会有些不耐烦.
我还未决定是否会使用vim作为主力开发工具,毕竟Netbeans有很多我无法舍弃的优点,还有就是对快捷键的习惯(我以前用Java的时候,使用的是Eclipse,到现在使用netbeans还是使用Eclipse的快捷键,由此可见习惯是多么难改变).