SlideShare a Scribd company logo
Vimで るRuby開発
2014/4/5 Yokohama.vim
小林 翔平@srocktyle
注意!
Vimmer歴短いけど頑張るのでよろしくお願いします
→サーバでviやってたから短期間で習得はできた
発表している人間は黒い画面中毒者なのでそれを前提に
聞いてもらえるとマイルドな感じになります。
お前のvimrc見せろよ
ここおいときました
(フォローしてね)
https://github.com/srockstyle/vimrc
Shohei Kobayashi
Backend & ServerSide Engineer
My Profile
• 言語:Ruby、PHP、Perl、Python、JavaScript
• 元インフラエンジニア
• Github、Qiita、Twitter、Facebook:@srockstyle
なにしてる人なの?
• 女の子写真共有アプリSnapeeeを運営しているマインドパレッ
トという会社でWeb&バックエンドを見てます。
• 設計、サーバ構築∼フレームワーク選定からコーディングまで。
• 開発は全部Vimでやってるよ。
• なぜかエンジニア採用担当です。
今日のテーマ
「Ruby on Vim」
vimを使ったRuby開発だよ
はじめに活用事例
vimを使ったRuby開発だよ
アジェンダ
• VimでRuby on Rails開発
• VimとRubyでサーバ・インフラ面開発
• おまけ
第1部:Rails on Vim
Rails開発はVimでやろーよ。
Railsやるとき主に使うプラグイン
• unite.vim
• neocomplcache.vim
• vim-rails
• unite-rails 
• vim-endwise
• neosnippet
Ruby on vim yokohama.vim発表資料
unite.vimって?
• 直感的なインターフェイスを提供するプラグイン
• unite-なんとかっていうプラグインいっぱい
• これがあるとないではRails開発が三倍違うぜ
unite-rails
これ最強。
三倍……だと......
とあるRailsプロジェクト
vi Gemfileとかやります
unite-rails発動
Unite rails/viewを実行
編集したいファイルを選択でエンターで開く
これの何がいいか
• Railsのフォルダ構造をなぞってファイルを開かな
くてよい
• 2ステップで目的のファイルにたどり着ける
• タブ補完が普通に使える←重要
neocomplcache.vim
Shougoさん
お世話になっております。
いつか会いたいです。
抱きしめたいです!
neocomplcache.vimって?
• 補完機能をやってくれるプラグイン
• 一度プロジェクト内で使った変数はもちろん、関数
とかもちゃんと補完してくれる。
vim-endwise
• if文とかdefとかのメソッド始まりがあったらendを自動入力してくれるプラグイン。
• 閉じ忘れとかなくなるYO!
使用例
!
• 上の例だとdef testとか書いて、enter押すと……
勝手に補完!
!
• 勝手に補完してくれます!
第一部まとめ
• unite、unite-rails、neocomplcache.vim、vim-
endwiseあたりはとりあえずいれとけば るよ
• あとvim-railsとかあの辺は一応
• rubocopとかコーディングルール系もいれとくとい
いかも。
第二部
VimとRubyでサーバ・インフラ開発
∼プログラミングできることが全てじゃないよ編∼
活用事例の復習
こんな感じ。
サーバ/インフラでなぜVimが必要か
• Linuxにたいていviっていうvimの原型が入ってる
• viが使えるというのはサーバ設定をする上で超大事
• vimを覚えればviを自然と使えるようになるので、
サーバ周りも学ぶのだいぶ楽になるよ!
声を大にして言いたいこと
!
!
「vi使えないくせにエンジニア名乗ってんじゃねえ!」
!
!
∼Linuxやるならviぐらい使えるようになろうね∼
すいません取り乱しました
Rubyは?
• Chefっていうサーバ構築ツールがあり、会社でそ
れの設定編集するのにVim使ってます。
• 設定ファイルがRubyで書かれているので、Rubyの
プラグインいれとけばとりあえずかけます。
• 結構開いたり閉じたりを頻繁にするので、Emacs
と違って素早くできるvimが一番便利です。
Chefのレシピ
基本Rubyプロジェクトです
• こんな感じ。
レシピ(設定)ファイルはこんな感じ
Chefとは別にサーバにログインして作業するときvi使うんだ
• サーバ設定においてviを扱える能力は必須。
• Chefでローカルで編集して自動プロビジョニング
してもvi使える使えないではやっぱり違う
• サーバエンジニア並みとはいわなくてもvimを使え
るってことはvi使えるってことだからだいぶ楽だよ
時代はImutable Infra
• Imutable Infraをやる上でAWSをターミナルから
叩けるのは必須
→vimからAWSコンソールいじれるプラグイン欲しい
→作れ!
インフラ開発のためのプラグイン欲しい
• Chefのプロジェクトを行ったり来たりできるvimの
プラグインが欲しい。
• AWSコンソールいじれるプラグインほしい
• VagrantやDocker・・・
第二部まとめ
• Chefというツールを使うときにvim使ってるしRuby
のプラグインが生きてくるよ
• vimが使えるとvi使えるからサーバに入ったとき戸惑
わなくて済むよ
• unite-chefが欲しいから誰か一緒に作ろう?(弱気)
今後の課題
• Vimを立ち上げたままのrvmきりかえプラグイン欲
しい(今いちいち立ち上げ直してる)
• unite-chefが欲しい(やっぱり:eからの移動面倒)
• unite-awsが欲しい(ターミナルからawsしたい)
だれか解決策教えて!
お願い
ここにいる何人かとvimプラグイン開発したいです!
勇者求む!
おまけ
Rubyエンジニア募集しているよ!
• マインドパレットではエンジニア募集してます。
• Rubyが必須、Javaができれば尚可。
• ChefとかRailsとかAWSとかHadoopとか、その辺
のワードにぴんぴんくるひとは言ってね。
ご清聴ありがとうございました

More Related Content

Ruby on vim yokohama.vim発表資料