VIM进行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*omments app/models/comment.rb
<%= render 'comm*on/navbar' %> app/views/common/_navbar.html.erb
layout adm*in app/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%,再提高效率也不如花时间好好思考来的效率高。

以上!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,245评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,749评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,960评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,575评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,668评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,670评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,664评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,422评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,864评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,178评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,340评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,015评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,646评论 3 323
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,265评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,494评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,261评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,206评论 2 352

推荐阅读更多精彩内容