为了账号安全,请及时绑定邮箱和手机立即绑定

VIM进行ruby开发的配置探索

标签:
Ruby

说明:本教程适用于已经配置好基本的Ruby和Rails开发环境,并且想要进阶提高编辑效率的小伙伴。
本文可能会不断更新。

1.安装

安全很简单,打开iTerm。依次运行以下指令:

$ cd ~  #进入根目录$ brew install vim

ps: 这个过程可能会比较长,大概需要二十分钟,如果网速慢的话,一定要耐心等程序全部跑完。

2.配置

只是最基础的Vim并不能大幅度提高ruby开发的效率。需要进行一些基本的配置,以下的配置参考了李亚飞的教程link,再此基础上增加了snipmate和delimitmate插件。并修改了一些快捷键。

Step1 :

打开iTerm,依次输入并执行以下指令(建议拷贝):

$ git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim$ git clone https://github.com/Hukui-Reborn/ruby-vimrc-hk.git$ cp ruby-vimrc-hk/vimrc ~/.vimrc

$ mkdir ~/.vim/colors

$ cp ruby-vimrc-hk/colors/molokai.vim ~/.vim/colors

$ vim

现在vim应该已经打开了,在vim界面下输入以下指令:

:PluginInstall

等待安装完成,出现done!字样。然后运行:q!,请注意在Vim中运行这两条命令都前面都是有:的。

3.使用

以下的教程大量参考了李亚飞在Ruby China的教程:https://ruby-china.org/topics/19315 同时一定要按照刚刚的配置教程成功配置后,下面的教程中的快捷键才能发挥作用。

基础使用

如果对基础还不熟悉的的话,可以参考下面这篇教程,同时建议你稍微熟悉下Vim基本操作之后,再来看下面的教程。
http://hukui-blog.logdown.com/posts/2017/03/27/vim-installed-a-simple-tutorial

高效第一招:急速跳转

1、标准的Rails目录,也就是常见的controller、model、view、helper等目录的快捷跳转利用的是 Rails.vim这个插件。
先看下面这个GIF,说明一下:先打开了group的controller,然后跳转到了group的model,然后跳转到了user的model,然后跳回Group的model,在跳入Group的controller,然后最后直接打开group的index.html.erb。如果快的话,十秒钟作用就可以全部完成,你可以算下用atom点鼠标需要多长时间。

20170413149207071953945.gif


比如Rails101的项目,先在iterm中cd到项目目录,然后输入vim启动Vim编辑器。输入命令:Econtroller groups,直接会打开app/controller/groups_controller.rb文件。输入:Emodel post,会打开app/models/post.rb。同理可以打开view,helper等等。ps还有个偷懒的小技巧,你只需要输入:Econ然后按Tab键。去试试看!
更牛逼的是这个插件支持相关性跳转,比如你现在已经在app/models/post.rb文件状态下了,直接输入:Econtroller,会直接打开app/controller/posts.rb
你以为这就是全部,图样图森破啊。下面是逆天的gf指令,加入你在app/controller/groups_controller.rb文件中,光标在def index这个方法上。按下gf,直接跳转至app/views/groups/index.html.erb。再按下Ctrl+6试试看,是不是返回上一个文件了。
下面是几种常见的跳转方式,注意*代表光标位置。


位置跳转结果
has_many :c*ommentsapp/models/comment.rb
<%= render 'comm*on/navbar' %>app/views/common/_navbar.html.erb
layout adm*inapp/views/layouts/admin.html.erb

2、非标准目录的跳转
ctrlp插件,在normal模式下按Ctrl+p,然后输入关键词即可搜索到相关的文件,然后跳转过去。如果有多个结果,按Ctrl+jCtrl+k来上下选择。其实就是类似于atom下的Ctrl+p
3、最近打开的文件中切换。
其实这个比较有用,我们最近可能打开了五六个文件,我们一会要在controller里面写代码,一会要切换到view中,一会还要到其他的controller,虽然也可以利用Rails.vim来跳转,但是如果历史文件不多,直接在历史文件中跳转那会更加方便。
操作方法在normal模式下按Ctrl+o,就会打开最近打开的文件列表。然后输入关键词,ctrl+j 向下, ctrl+k 向下. 回车选中。
4、如果还是不习惯各种跳转,在适应之前,还想要一个文件列表,那么直接按F8,会出现目录树,使用Ctrl+w+w可以跳转过去,然后上下左右选择,回车选中。
5、文件内跳转大杀器:easy-motion
在normal模式下,输入,,w(注意是两个逗号),然后发现有些字母变色了,我们直接输入想要跳转到位置的字母,嗖~
同理,如果是向前跳,输入,,b。见下方的GIF,附有按键操作。

2017041314920746883597.gif


高效第二招:自动补全

4.感悟

先回答一个小伙伴的疑问,无意加入各种编辑器的纷争,哪种合适就用哪种,atom也有atom的好处,但是既然用了Vim,肯定是为了追求效率,那在依赖目录树这种的不停的寻找文件再打开显然违背了初衷,那么Vim里文件到底应该以什么样的姿势打开?其实上文中已经有提到,总结一下就是:

  • 标准目录直接用Rails.vim附加的各种跳转打开。

  • 非标准目录用ctrlp这个插件用模糊搜索打开。

  • 刚刚才修改过的文件可以在最近使用文件列表中找到。

最后提醒大家一点,不要陷入追求极致工具的大坑,花在工具上的时间以可以高效完成工作为准。不要为了追求极致效率而花费大量的时间。coding只占20%,再提高效率也不如花时间好好思考来的效率高。

以上!



作者:胡奎_Reborn
链接:https://www.jianshu.com/p/140548a10f06

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消