rails.vim环境安装(ubuntu)
学习和开发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界面的,为了可以独立启动它.
- 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 :
- 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的快捷键,由此可见习惯是多么难改变).
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)相关推荐
- 高性能计算机cuda环境安装,Ubuntu安装驱动和cuda
在安装Linux 双系统(一般是Nvidia显卡,加核显的电脑)时, 经常会出现卡在安装logo的问题,这种原因一般是由于linux发行商收录的nouveau 的开源显卡的问题. 针对这种情况,解决方 ...
- 深度学习环境配置:华硕主板的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 ...
- linux vim ddyd,vim环境配置
ctags ctags对浏览代码非常的方便,可以在函数.变量之间跳来跳去等等. 下载 我已经下载过了,路径:/home1/fujun/software/ctags-5.8.tar.gz 编译& ...
- Jz2440 环境安装
目录 Jz2440 环境安装 Ubuntu 设置 烧写工具 交叉编译环境 使用说明 烧写特性 title: Jz2440 环境安装 tags: linux date: 2018-09-20 22:56 ...
- 配置基于python的VIM环境
配置基于python的VIM环境 安装插件管理工具 为防止过多插件管理的麻烦,首先安装vim的插件管理工具Vundle.vundle本身的github软件已经有相关的中文文档,地址如下: vundle ...
- Mac vim环境配置
Mac vim环境配置 vim环境安装 vimrc配置文件 vim插件安装 vim环境安装 # mac下安装brew $ ruby -e "$(curl -fsSL https://raw. ...
- windows10 python调用wsl_(亲测!)Windows10用WSL安装Ubuntu远程桌面连接和配置开发环境...
Windows10使用默认的WSL安装Ubuntu并启用远程桌面连接 一.启用WSL功能 首先进入控制面板, 输入快捷键: windows键 + r 然后输入 control 然后选择 程序–> ...
- ubuntu 10.10下搭建android开发环境 安装必要工作用软件
进了新公司之后,工作环境有了很大的变化,以前都是在windows环境下进行程序开发,没怎么接触linux系统,新项目组中有6个同事,一水的ubuntu,木有办法,我也换成ubuntu吧. 曾经在学li ...
- 如何快速正确的安装 Ruby, Rails 运行环境
对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境. 次安装方法同样适用于产品环境! ...
最新文章
- 计算Python的代码块或程序的运行时间
- Shell中的分支语句
- HDU - 1827 Summer Holiday (强连通)
- 不借助Maven,使用Eclipse创建Hello World级别的Spring项目
- 关于js中function(e) e的理解
- 这四种攻击单片机的主要技术你了解多少?
- 树链剖分 讲解+模板+习题
- vue-router路由、mixin混入、vue-resource、axios、计算属性watch、moment.js、vuex、vue-cli、数据双向绑定、搭建vue环境、vue实例、配置启动项
- mercurial使用_DBA对Mercurial的介绍–什么时候以及为什么我们应该使用版本控制
- c语言的数据类型说明保留字,第三章 数据类型、运算符与表达式
- 在html中 创建超链接使用的标记是,建立超链接标记是什么
- xps转jpeg图片
- JAVA 输出杨辉三角形
- 小米笔记本“突然”不能调整屏幕亮度
- jsp 和 servlet 有什么区别?
- NSNumber 与 Tagged Pointer
- Huffman编码文件压缩
- Form表单 JSON Content-type解析
- 几种常见的hash算法
- sscanf输出指定MAC地址格式
热门文章
- 解析java匿名内部类
- mysql怎么实现事务序列化_MySQL 架构 - 事务处理
- linux命令录制,怎样在Linux上录制你的终端操作及回放
- 5 java中的集合类_java基础(5)-集合类1
- java怎么监听多个组件,java web(五):java web三大组件之另外两个和八大监听器
- 深入理解JVM虚拟机(六):虚拟机类加载机制
- [ATC 17] StreamBox: 面向多核机器上的针对Records的无序到达的实时流处理系统
- python使用redis队列_Python的Flask框架应用调用Redis队列数据的方法
- python 冷门_csvkit---python一个牛逼到不行的csv处理库
- mysql中如何求字段的个数字_求高手帮小弟解决一下!关于mysql字段中数字提取求和的问题?...