VIM进行ruby开发的配置探索

作者: 胡奎_Reborn | 来源:发表于2017-04-27 13:08 被阅读125次

    说明:本教程适用于已经配置好基本的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%,再提高效率也不如花时间好好思考来的效率高。

    以上!

    相关文章

      网友评论

        本文标题:VIM进行ruby开发的配置探索

        本文链接:https://www.haomeiwen.com/subject/mcwgzttx.html