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