学习和开发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代码  
  1. sudo apt-get install vim
  2. sudo apt-get install vim-gtk //很明示这个是gtk gui支持的vim,在命令行下面的启动命令是: gvim

提醒一下,Ubuntu系统默认安装的vim是一个简化版本,很多东西都不支持的,比如语法高亮.

如果要配置你的VIM,你还要两个配置文件(一个专门用于gvim的.),都是放在你的用户根目录下:

~/.vimrc 这个是vim的配置

Java代码  
  1. set guifont=Monaco\ 11
  2. " set guifontwide=WenQuanYi\ Zen\ Hei:h12:cGBK
  3. " 设定文件浏览器目录为当前目录
  4. set bsdir=buffer
  5. " 设置编码
  6. set enc=utf-8
  7. " 设置文件编码
  8. set fenc=utf-8
  9. " 设置文件编码检测类型及支持格式
  10. set fencs=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
  11. " 设置开启语法高亮
  12. syntax on
  13. "显示行号
  14. set number
  15. " 查找结果高亮度显示
  16. set hlsearch
  17. " tab宽度
  18. set tabstop=4
  19. set cindent shiftwidth=4
  20. set autoindent shiftwidth=4
  21. filetype plugin indent on
  22. " 把 F8 映射到 启动NERDTree插件
  23. map <F8> :NERDTree<CR>
  24. " 把 CTRL-S 映射为 保存,因为这个操作做得太习惯了
  25. imap <C-S> <C-C>:w<CR>

~/.gvimrc 这个是针对GUI界面的配置

Java代码  
  1. "把gvim的菜单和工具栏隐藏掉,按F2可调出,再按隐藏
  2. set guioptions-=m
  3. set guioptions-=T
  4. map <silent> <F2> :if &guioptions =~# 'T' <Bar>
  5. \set guioptions-=T <Bar>
  6. \set guioptions-=m <bar>
  7. \else <Bar>
  8. \set guioptions =T <Bar>
  9. \set guioptions =m <Bar>
  10. \endif<CR>
  11. " 启动gvim时窗口的大小
  12. 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 :

  1. rails.vim 这个是rails的插件,必不可少的.
  2. snipMate 这个就是号称让VIM跟MAC下的神器TextMate有同样表现的插件,也是必装的.
  3. NERD_tree 显示目录树,我觉得比那个Project.vim要好用多了,所以我没有装Project.vim
  4. supertab.vim
  5. NERD_commenter.vim 快捷来加删comment的,不过我好像还没用过.
  6. lookupfile.vim 找文件,如果你只是用来开发rails的话,可以不用.
  7. bufexplorer.vim buffer切换
  8. genutils.vim
  9. javascript.vim
  10. blackboard.vim 这个就是模仿TextMate的配色,很重要.
  11. Monaco字体 这个不是插件,不过这个字体很漂亮 下载地址: http://www.webdevkungfu.com/textmate-envy-aka-monaco-font-for-windows/

基本上vim for rails 已经可以用了.放上我的效果图:

使用

  1. 不是所有的vim插件都会自动启用的.一般的vim插件都是要使用命令来启动的,我刚用的时候不知道这个,抓狂了一阵子.比如你要使用NERDTree插件,要先输入如下命令:

    Java代码  
    1. :NERDTree
    2. //我把这个命令映射到 F8 了,请看上面的配置文件.
  2. rails.vim插件只有一个全局的命令Rails,这个会新建一个Rails项目.
  3. 其它的rails.vim的命令都是要找开了Rails项目的文件才能使用的,这个我很是郁闷.比如你想查找一个user.rb文件打开,本来是应该使用 Rfind user.rb ,但是由于你的VIM没有打开任何Rails项目中的文件,这个命令不可用!!
  4. 下面说说我一般的使用方法:
    • 打开vim,先cd ~/my_project_path
    • 按一下F8,启动NERDTree插件,把我的项目目录树显示出来.
    • 一般rails使用命令:
      Ruby代码  
      1. #如果你要找一个文件
      2. :Rfind routes.rb
      3. #如果你想打开一个model
      4. :Rmodel user
      5. #如果你想打开一个conotroller
      6. :Rcontroller users
      7. :Rcont users
      8. #如果你想打开一个view
      9. :Rview users/index
      10. :Rview users/_user
      11. #如果你的当前窗口的文件是在app/views/users/下的话
      12. :Rview show #相当于 :Rview users/show
      13. #如果你当前光标是controller的index方法中,直接按 R 可以中转到视图文件 index.html.erb中
      14. #其它的方法如
      15. :Rserver #启动服务器
      16. :Rserver! #停止服务器
      17. :Rjavascript js_name #打开js文件
      18. #还有很多,输入帮助命令自己看吧
      19. :help rails
    • 不要使用 :Rlog 在vim上看日志文件,因为我用的时候,发现它更新时很慢,要等一下才会输出.还是老实地在终端上用 tail吧.

试用了两天,觉得还可以,效率很高,弄好那个配色之后,看着非常舒服,还有就是vim的速度,真的是非常快,什么都快.

Netbeans的长处在于文件,方法之间的跳转非常的方法,但是就是启动慢,查找的时候也比较慢,有时会有些不耐烦.

我还未决定是否会使用vim作为主力开发工具,毕竟Netbeans有很多我无法舍弃的优点,还有就是对快捷键的习惯(我以前用Java的时候,使用的是Eclipse,到现在使用netbeans还是使用Eclipse的快捷键,由此可见习惯是多么难改变).

vim命令

:Rake      :Rake db:migrate,  :Rake db:create, ...... :Rmodel     :Rmodel info (查找model名称为info的文件) :Rview      :Rview  infos/new (查找infos控制器下的new视图文件) :Rcontroller :Rcontroller infos(查找控制器名称为infos的文件) :find :Rfind infos_controller(查找infos_controller.rb文件) :Rails :Rails console 或 :Rails generate model info age:integer或........ :Rscript :Rscript console 或 :Rscript generate model info age:integer或......(注意Rscript相当于script/rails命令) :Redit :Redit 相对路径 :Rlog :Rlog development 打开development.log日志文件 :Rpreview 打开一个浏览器,http://localhost:3000 :Rrefresh 刷新 R 在目录下直接shift+r,可以刷新目录 gf 根据当前光标处内容跳转到文件 :Rmigration 查找migration文件 :Rlayout 查找layout文件 :Rhelper 查找helper文件 :Rstylesheet :Rjavascript :Rplugin :Rlib :Rtask :Rserver

转载于:https://www.cnblogs.com/lilyxue/p/5571448.html

rails.vim环境安装(ubuntu)相关推荐

  1. 高性能计算机cuda环境安装,Ubuntu安装驱动和cuda

    在安装Linux 双系统(一般是Nvidia显卡,加核显的电脑)时, 经常会出现卡在安装logo的问题,这种原因一般是由于linux发行商收录的nouveau 的开源显卡的问题. 针对这种情况,解决方 ...

  2. 深度学习环境配置:华硕主板的Win 10 + UEFI + GPT条件下且在SSD + HDD双硬盘下安装Ubuntu+Gtx 1080Ti显卡驱动 + CUDA 9.1 + Cudnn 7.1...

    本文写文章日期为2018.03.13   因为买电脑自带了win10系统,自己就没有重新安装win10,而是在原win10环境下分割一个磁盘来安装ubuntu16.04,本人电脑GPU为Gtx 108 ...

  3. linux vim ddyd,vim环境配置

    ctags ctags对浏览代码非常的方便,可以在函数.变量之间跳来跳去等等. 下载 我已经下载过了,路径:/home1/fujun/software/ctags-5.8.tar.gz 编译& ...

  4. Jz2440 环境安装

    目录 Jz2440 环境安装 Ubuntu 设置 烧写工具 交叉编译环境 使用说明 烧写特性 title: Jz2440 环境安装 tags: linux date: 2018-09-20 22:56 ...

  5. 配置基于python的VIM环境

    配置基于python的VIM环境 安装插件管理工具 为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle.vundle本身的github软件已经有相关的中文文档,地址如下: vundle ...

  6. Mac vim环境配置

    Mac vim环境配置 vim环境安装 vimrc配置文件 vim插件安装 vim环境安装 # mac下安装brew $ ruby -e "$(curl -fsSL https://raw. ...

  7. windows10 python调用wsl_(亲测!)Windows10用WSL安装Ubuntu远程桌面连接和配置开发环境...

    Windows10使用默认的WSL安装Ubuntu并启用远程桌面连接 一.启用WSL功能 首先进入控制面板, 输入快捷键: windows键 + r 然后输入 control 然后选择 程序–> ...

  8. ubuntu 10.10下搭建android开发环境 安装必要工作用软件

    进了新公司之后,工作环境有了很大的变化,以前都是在windows环境下进行程序开发,没怎么接触linux系统,新项目组中有6个同事,一水的ubuntu,木有办法,我也换成ubuntu吧. 曾经在学li ...

  9. 如何快速正确的安装 Ruby, Rails 运行环境

    对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! ...

最新文章

  1. 计算Python的代码块或程序的运行时间
  2. Shell中的分支语句
  3. HDU - 1827 Summer Holiday (强连通)
  4. 不借助Maven,使用Eclipse创建Hello World级别的Spring项目
  5. 关于js中function(e) e的理解
  6. 这四种攻击单片机的主要技术你了解多少?
  7. 树链剖分 讲解+模板+习题
  8. vue-router路由、mixin混入、vue-resource、axios、计算属性watch、moment.js、vuex、vue-cli、数据双向绑定、搭建vue环境、vue实例、配置启动项
  9. mercurial使用_DBA对Mercurial的介绍–什么时候以及为什么我们应该使用版本控制
  10. c语言的数据类型说明保留字,第三章 数据类型、运算符与表达式
  11. 在html中 创建超链接使用的标记是,建立超链接标记是什么
  12. xps转jpeg图片
  13. JAVA 输出杨辉三角形
  14. 小米笔记本“突然”不能调整屏幕亮度
  15. jsp 和 servlet 有什么区别?
  16. NSNumber 与 Tagged Pointer
  17. Huffman编码文件压缩
  18. Form表单 JSON Content-type解析
  19. 几种常见的hash算法
  20. sscanf输出指定MAC地址格式

热门文章

  1. 解析java匿名内部类
  2. mysql怎么实现事务序列化_MySQL 架构 - 事务处理
  3. linux命令录制,怎样在Linux上录制你的终端操作及回放
  4. 5 java中的集合类_java基础(5)-集合类1
  5. java怎么监听多个组件,java web(五):java web三大组件之另外两个和八大监听器
  6. 深入理解JVM虚拟机(六):虚拟机类加载机制
  7. [ATC 17] StreamBox: 面向多核机器上的针对Records的无序到达的实时流处理系统
  8. python使用redis队列_Python的Flask框架应用调用Redis队列数据的方法
  9. python 冷门_csvkit---python一个牛逼到不行的csv处理库
  10. mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...