- 浏览: 168752 次
- 性别:
- 来自: 广州
最新评论
-
dongxuef:
正奇怪呢,原来你也没深究.源码中_params被default ...
在Rails的controller中访问params的一个小细节 -
sunsonavaj:
Rails 3 下自定义错误信息显示页面 -
Hooopo:
Thx!
ubuntu下让netbeans的字体变得好看些 -
ybffnst:
paperclip 对错误消息的处理是对字符串进行处理的,不支 ...
如何自定义处理ActiveRecord中的errors信息 -
wozhidao:
这个方法有个很大的bug,远程图片的时候是取不到扩展名的,上传 ...
paperclip定制文件名
学习和开发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 :
- 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插件,要先输入如下命令:
:NERDTree //我把这个命令映射到 F8 了,请看上面的配置文件.
- rails.vim插件只有一个全局的命令Rails,这个会新建一个Rails项目.
- 其它的rails.vim的命令都是要找开了Rails项目的文件才能使用的,这个我很是郁闷.比如你想查找一个user.rb文件打开,本来是应该使用 Rfind user.rb ,但是由于你的VIM没有打开任何Rails项目中的文件,这个命令不可用!!
- 下面说说我一般的使用方法:
- 打开vim,先cd ~/my_project_path
- 按一下F8,启动NERDTree插件,把我的项目目录树显示出来.
- 一般rails使用命令:
#如果你要找一个文件 :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的快捷键,由此可见习惯是多么难改变).
评论
<% %> 用啥插件可以帮组解决,她要用到哪些快捷键
eclipse 和 netbeans 在背景显示上更强一点 …… 但是 vim 这么快,就忍了。
还是用emacs吧
想要背景图片都没问题。。。。 emacsclient不比vim慢
直接vim ~/project不行吗(如果你装了NERDTree的话)
<div class="quote_div">
<div class="quote_title">yangzhihuan 写道</div>
<div class="quote_div">
<div class="quote_title">poshboytl 写道</div>
<div class="quote_div">对了补充一个问题, 写快捷键配置的时候. mac OS里的'command'键,怎么写啊?</div>
<br><br>我用不起MAC,不太清楚,你可以参考一下这个MAC下的VIM配置 <a href="http://www.limboy.com/2009/05/30/vim-setting/" target="_blank">http://www.limboy.com/2009/05/30/vim-setting/</a> 我之前学习VIM的时候看到的.<br>
</div>
<br><br><br>好文....收藏了...<img src="/images/smiles/icon_smile.gif" alt="">
</div>
<p> </p>
<p>看看我的这个 Vim 配置文件: <a href="http://code.google.com/p/vimmate/" target="_blank">http://code.google.com/p/vimmate/</a></p>
<p> </p>
<h2><a name="%E5%BF%AB%E6%8D%B7%E9%94%AE%E8%AF%B4%E6%98%8E">快捷键说明</a></h2>
<ul>
<li><a name="%E5%BF%AB%E6%8D%B7%E9%94%AE%E8%AF%B4%E6%98%8E"><tt><F7></tt> 开关 <strong>NERD tree</strong> (文件目录树) </a></li>
<li>
<a name="%E5%BF%AB%E6%8D%B7%E9%94%AE%E8%AF%B4%E6%98%8E"><tt><F8></tt> 开关 <strong>BufExplorer</strong></a><strong><a href="http://code.google.com/p/vimmate/w/edit/BufExplorer">?</a></strong> (用于切换已经打开的文件,Tab的替代品) </li>
<li>
<tt><Ctrl+F12></tt> 显示/隐藏 <strong>主菜单</strong> (默认隐藏) </li>
<li>
<tt><Ctrl+w 然后 上下左右></tt> Buffer来回切换,切换光标到 NERD tree、编辑区... </li>
<li>
<tt><Ctrl+c,x,v,z,y,a></tt> 复制、剪切、粘贴、撤销、重做、全选... 类似 Notepad 的快捷键 </li>
</ul>
<blockquote>
<h3><a name="NERD_tree">NERD tree</a></h3>
<ul>
<li><a name="NERD_tree"><tt><b></tt> 开/关 <strong>收藏夹</strong> </a></li>
<li><a name="NERD_tree"><tt><D></tt> 删除 选中的 <strong>收藏</strong> </a></li>
<li><a name="NERD_tree"><tt><?></tt> 显示帮助 </a></li>
<li><a name="NERD_tree"><tt><Enter></tt> 选择/展开关闭 <strong>目录</strong> </a></li>
<li><a name="NERD_tree"><tt><m></tt> 显示文件操作菜单,用它来创建/移动/删除 <strong>目录或文件</strong> </a></li>
<li><a name="NERD_tree"><tt><u></tt> 跳到上一个文件夹 </a></li>
<li><a name="NERD_tree"><tt><C></tt> 将跟节点转入当前选中的目录 </a></li>
<li><a name="NERD_tree"><tt><r></tt> 刷新选中的目录 </a></li>
<li><a name="NERD_tree"><tt><R></tt> 刷新根节点的目录 </a></li>
<li><a name="NERD_tree"><tt><cd></tt> 将vim的运行时目录改为选中的目录 </a></li>
<li><a name="NERD_tree">-- 命令 --------------------------------------------------------- </a></li>
<li><a name="NERD_tree">Bookmark 别名 收藏 NERD tree 里面当前选择的目录 </a></li>
</ul>
</blockquote>
<blockquote>
<h3>
<a>BufExplorer</a><a href="http://code.google.com/p/vimmate/w/edit/BufExplorer">?</a>
</h3>
<ul>
<li>
<tt><D></tt> 关闭选中的文件 </li>
<li>
<tt><d></tt> 清楚选中的文件 </li>
<li>
<tt><Enter></tt> 切换到选中的文件 </li>
<li>
<tt><p></tt> 显示隐藏 <strong>文件名列</strong> </li>
<li>
<tt><R></tt> 显示隐藏 <strong>文件目录列</strong> </li>
<li>
<tt><u></tt> 显示隐藏 <strong>未列出的 Buffers</strong> </li>
<li>
<tt><s></tt> 改变排序方式 <em>"编号(打开的顺序)","文件名","目录名","mru","扩展名"</em> </li>
<li>
<tt><r></tt> 倒序排列 </li>
</ul>
</blockquote>
<h2><a name="Screenshoot">Screenshoot</a></h2>
<p><a rel="nofollow" href="http://www.flickr.com/photos/huacnlee/4028143746/sizes/o/"><img src="http://farm3.static.flickr.com/2545/4028143746_48db4cfac2.jpg" alt=""></a> </p>
<p><a rel="nofollow" href="http://www.flickr.com/photos/huacnlee/4028143724/sizes/o/in/photostream/"><img src="http://farm3.static.flickr.com/2527/4028143724_2e401490ea.jpg" alt=""></a> </p>
<p> </p>
我用不起MAC,不太清楚,你可以参考一下这个MAC下的VIM配置 http://www.limboy.com/2009/05/30/vim-setting/ 我之前学习VIM的时候看到的.
好文....收藏了...
想不到神器也是有缺点的,哈...
我Textmate用的是一个日本人写的插件.
可以倒是可以显示中文, 但是非常之挤, 看久了头疼.
反正也打算学习学习 vim或emacs... 正好就这个机会咯.....
我用不起MAC,不太清楚,你可以参考一下这个MAC下的VIM配置 http://www.limboy.com/2009/05/30/vim-setting/ 我之前学习VIM的时候看到的.
想不到神器也是有缺点的,哈...
是个机会玩玩vim, 这个项目就用它了, 我也上个图. 感谢楼主 好文.
:Rcontroller a/cnc # admin/company_news_categories
另外mercurial用起来也是很直观的能够看到diff吗
fuzzyfinder_textmate.vim 真是好用,直接文件名就可以了,太省功夫了.
从 saberma 同学的blog也知道了格式的命令: gg=G (输入确实麻烦,于是我把F7映射给它了.)
不知你用fuzzyfinder_textmate.vim没有,用上了,那些:Rmodel user等命令就不需要了
直接CTRL+T打文件名模糊查询更快
我之前也总结了一点vim常用命令
http://saberma.github.com/2009/10/10/vim.html
我的vim配置
git://github.com/saberma/vimfiles.git
如果可以模糊查询就真是太好了,在netbeans是常用这个功能来打开文件,但netbeans查询的时候慢得我受不了.马上去下载 fuzzyfinder_textmate.vim 来试试.
多谢你的推荐啊.另外俺在github上follow了你,我的ID:yzhrain(不过上面什么也没有的)
vcscommand
http://www.vim.org/scripts/script.php?script_id=90
一般不需要插件吧 …… 在 vim 里直接运行命令就可以了。
可以设个快捷键,自己按一下 F6 就 commit …… 之类的。
有插件可以让你直接编辑 svn 服务器上的文件,或者编辑时自动锁定文件。好像还有 local history 相关的插件,不过没用过也不好评论。。。
显示文件是否已修改状态,应该是 nerd_xxx 插件的功能。
eclipse 和 netbeans 在背景显示上更强一点 …… 但是 vim 这么快,就忍了。
发表评论
-
Rails 2.3.12下遇到的named route的诡异问题
2011-08-14 21:18 1672周五的时候把网站升级到Rails 2.3.12,本来在本地测试 ... -
ActionMailer的一些配置
2011-08-14 20:59 1673一般情况下,如果你使用gmail的话,都是这样配置的: A ... -
如何自定义处理ActiveRecord中的errors信息
2011-07-26 23:33 2904今天写代码的时候,客服MM向我反馈了一个问题,这个问题本身是很 ... -
Rails 3 下自定义错误信息显示页面
2010-07-08 15:21 3775大家都知道想在Rails下自定义错误显示的页面是修改 resc ... -
paperclip定制文件名
2010-07-02 14:25 3384在新项目中使用了paperclip这个文件上传插件,一切都很满 ... -
Sinatra:一个可以作为Rails有益补充的框架. 简洁而不简单
2010-04-04 15:08 7176一个基于Sinatra的小程序 前些天有一个需求,需要写一个 ... -
require特定版本的gem
2010-03-31 21:07 2588今天有一个需求要单独地使用ActiveRecord,但是我的机 ... -
从Rails 2.3.5 升级到 Rails 3.0 beta
2010-03-27 22:12 2174因为有一个新的项目打算使用Rails 3.0 beta,所以先 ... -
命名时请留意Rails下的关键字
2010-01-22 17:36 2075前些天我在做一个支付集成的接口,对方返回的结果串里面有一个 e ... -
rails下自定义出错页面
2010-01-22 17:17 2367rails出错的时候,一般都是跳转到错误跟踪的页面下,这样在开 ... -
rails下修改http头(http header)
2010-01-22 17:08 5205其实就是修改response中一个叫做headers的Hash ... -
在Rails的controller中访问params的一个小细节
2009-12-02 22:36 7306大家都知道controller中的params其实是一个Has ... -
Thinking Sphinx + Coreseek + rmmseg的安装与使用
2009-10-06 23:48 3825要在Rails上使用全文检索,选择一直不多,以前我一直是使用F ... -
Migrations流水帐
2009-07-11 16:02 1302对于Rails的迁移功能Migrations,一直都只是看一下 ... -
重新安装ruby遇到的问题
2009-06-13 13:14 1331昨天重装了操作系统,要重新安装ruby环境. 因为以前 ... -
JRuby使用经验
2009-05-10 17:06 1989首先我是一个Java程序员 ... -
使用ri查看Rails的API
2009-03-25 23:31 4490我一直都比较习惯直接到 http://www.ruby-doc ... -
Ubuntu Linux下ruby 1.9.1和Rails 2.3升级记录
2009-03-22 00:22 4452安装 ... -
今晚用上了ruby的动态方法调用,open class和mixin三大神器
2009-01-12 00:43 2236今晚人品爆发,一举用上了ruby的动态方法调用,open cl ... -
让rails中多态关联的方法名更加人性化
2008-12-02 22:55 2439rails中的多态关联功能,很好很强大。 但是多态关联的方法 ...
相关推荐
My Vim for Ruby on Rails 开发 MacVim 用户警告 我已经停止使用 MacVim(主要是)并开始在 Tmux 中使用控制台 Vim。 提取到分支的最新 MacVim 配置不再受支持。 但仍包含此处描述的大部分功能。 特征 Ruby on Rails...
现在,你已经在Ubuntu 10.10上成功构建了一个包含Vim和Ruby on Rails开发环境的系统。通过持续学习和实践,你将能够更高效地利用这个环境进行Web应用开发。记住,定期更新系统和依赖,以确保安全性和兼容性。
”这句话生动地描述了Ruby on Rails的独特之处以及它在Web开发领域的影响力。 #### 二、安装 安装Ruby on Rails的方法多样,具体包括: - **InstantRails**:适用于Windows用户的单击安装包。 - **Locomotive**:...
`vim-rubymotion` 是一个专为 RubyMotion 开发者设计的 Vim 插件,它的目标是为 Vim 提供与 `vim-rails` 相似的强大支持,使得在 Vim 编辑器中进行 RubyMotion 项目的开发变得更加高效和便捷。尽管当前该插件可能还...
这个 vagrant 配置文件旨在构建一个随时可用的 Rails开发环境。 什么是流浪者? Vagrant 是一个创建虚拟机的工具。 你可以在 Mac、Windows 或 Linux 上安装 Vagrant 创造环境 $ git clone ...
在当今数字化时代,越来越多的开发工具和环境正逐渐转向云端,以适应全球化、协作和高效开发的需求。本文将详细介绍8个最佳的云端集成开发环境(IDE),它们为开发者提供了便捷、灵活且功能丰富的编码体验。 1. **...
Rails 6 是 Ruby on Rails 框架的一个主要版本,带来了许多新特性和改进,旨在提升开发效率和应用性能。本文将深入探讨 Rails 6 的关键特性,以及如何利用 Shell 命令来管理和操作 Rails 项目。 首先,Rails 6 引入...
此外,了解并掌握一些开发工具,例如Visio、Dreamweaver、Visual Studio、Eclipse、Vim、EditPlus或Notepad++,以及数据库管理工具如phpMyAdmin,浏览器及其开发者工具如Firebug和Web Development Helper,这些都是...
4. **Ruby**:Ruby是一种动态、面向对象的脚本语言,常用于Web开发(如搭配Rails框架)和自动化脚本。 5. **MacVim**:MacVim是在macOS上运行的Vim文本编辑器的一个版本,它提供了与系统更好的集成,如使用Mac的...
Redmine 是一个基于 Web 的项目管理工具,使用 Ruby on Rails 框架开发,需要特定的 Ruby 和 Rails 版本。下面是安装 Redmine 和 Apache2 的详细步骤。 一、安装 Redmine 需要的 Ruby 和 Rails 版本 Redmine 需要...
为Ruby on Rails开发定制Lubuntu。 工具:Vim,RVM,Ruby 1.9.2,Rails 3.1,Tmux,Open Ssh Server,VirtualBox无缝集成。
对于Mac用户来说,TextMate无疑是一款强大的编辑工具,尤其是在Ruby on Rails开发中发挥着重要作用。本文将基于《TextMate: Power Editing for the Mac》这本书的内容,深入探讨TextMate的各项特性及其对开发者的...
Aptana不仅支持JavaScript,还支持Ruby on Rails,并随着技术发展增加了对iPhone和Adobe AIR的开发支持。它拥有代码辅助、代码结构概览、语法错误检查、自定义UI扩展和跨平台兼容性,特别适用于Web2.0应用程序的开发...
gitlab_rails['time_zone'] = 'Asia/Shanghai' puma['worker_processes'] = 2 sidekiq['max_concurrency'] = 8 postgresql['shared_buffers'] = "128MB" postgresql['max_worker_processes'] = 4 prometheus_...
GitLab是一个基于Ruby on Rails开发的开源平台,与GitHub相似,它提供了浏览源代码、缺陷跟踪和注释等功能,使得团队成员可以高效地协作开发项目。 在GitLab服务的组成部分中,以下列出的关键组件至关重要: 1. **...
Ruby是一种面向对象的、动态类型的编程语言,广泛用于Web开发,特别是与Rails框架的结合。在安装过程中,我们需要确保Ruby环境已经就绪,并且版本符合Fabriquartz的要求。通常,安装Ruby可以通过管理工具如RVM(Ruby...
2. 使用yum命令安装所有必需的依赖包,这些包涵盖了开发工具、系统工具、编程语言及其开发环境、数据库和网络相关工具等。 3. 这些依赖包包括但不限于vim、readline、ncurses、gdbm、glibc、tcl、openssl、curl、...
在开发领域,不断练习和提升技能至关重要。...同时,不要忘记使用版本控制工具(如 Git)跟踪你的进度,并通过 Vim 提升编码速度。积极参与开源项目和黑客马拉松,可以让你在实践中提升技能,积累实战经验。