SlideShare a Scribd company logo
初心者Vimmerによる
Vim + Rails開発
開発Gr. 菊池大輔
@d_hero
この勉強会の内容
• Vimってどんなエディタ?
• Vimで便利なPlugin(主にRailsで)
このテーマのきっかけ その1
• 弊社のデザイナー I さん
「菊池さん、そのエディタ、
使いづらそっすね!」
そう思ってた時期が僕にもありました。。。
でもちょっと待ってくれ!
このテーマのきっかけ その2
• パートナー I 社のFさん
菊池
「コマンドで、ぱぱっと開けるんですよー」
Fさん
「・・・ファッ!!?」
Vimとは
• 「Vi」から派生したテキストエディタ
– Vi:VIsual editor、Visual Interface
• マウスを使わない!
• カーソルキーを使わない!
• コマンドによってテキスト編集を行う
– Vim
• 最初は「Vi IMitation(Viの模倣)」
• 後に「Vi IMproved(Viの改良)」
ViとVimの違い
設定ファイルを編集して自分好みに!
• 「~/.vimrc」に書きこむ
– 各種Pluginを導入可能!
– キーマップの指定が可能!
– 文字色を変更可能!
• 「カラースキーマ」の導入
Vimを使うには
• UNIX系OS
– 「vi 」か「vim」コマンドを打つだけ。
• Windows
– 仮想マシンでUNIX系OSを使う(僕はこれ)
• vagrantを使ってちゃちゃっと用意
– GVim
• GUI用のVim
Vimの画面
文字色を変えると・・・
Vimの「モード」
コマンドモード
(起動時はここ)
挿入モード ビジュアルモード
ESCESC
i, a, o等 v, V等I等
行ごとのコピー
削除等
切り取り、コピー普通の入力
テキストを書き始めるには
• コマンドモードで、以下のコマンド
(挿入モードに移動)
– i: カーソル位置から入力開始
– a:カーソル位置の後から入力開始
– o:1行挿入して、その行から入力開始
– R:上書き開始
• 挿入モードからコマンドモードに戻る
– ESCキー
カット、コピー、ペースト
コマンドモードで
• x: 入力位置の1文字切り取り
• dd: 1行切り取り
• yy:1行コピー
• D:入力位置以降の切り取り
• p:貼り付け
[数字]x, [数字]dd, [数字]yyで、
複数文字、行で編集可能
コマンドモードで出来ること
• u:アンドゥ
• Ctrl+R:リドゥ
• 文字列検索
– 「/(スラッシュ)文字列」で
• 保存、vimの終了
– 「:w」で保存
– 「:q」で終了(「:q!」で保存せず強制終了)
– 「:wq」で保存して終了(ZZでも可)
カーソルの移動
• コマンドモード、ビジュアルモード
• カーソルキーも使える、けど・・・
上:k
下:j
右:l(エル)左:h
右手のホームポジションから
動かさなくてよい!
[数字]+[コマンド]で
その数だけ移動
「^」、「$」:行頭、行末
ビジュアルモード
マウスのドラッグで選択するのと同じ機能
• v:領域選択
• V:行選択
• Ctrl-V:矩形選択
選択した後
• d:切り取り
• y:コピー
他に・・・
• :new ファイル名
– 新しいウィンドウを開く!(水平方向)
• :vnew ファイル名
– 新しいウィンドウを開く!(垂直方向)
• Ctrl-wの後にk,j,h,l(エル)のいずれか
– 上下左右のウィンドウへの移動
• 他のファイルを見ながらの編集が可能
ウィンドウを開いた画面
Ctrl+wの後に
j(下)入力
タブ機能
• :tabnew ファイル名
– 新しいタブでファイルを編集する
• [数字]gtで、指定した番号のタブに移動
タブの画面
1gtで移動
2gtで移動
メリットとデメリット
• メリット
– キーボードだけで編集が完結する
– 慣れると編集が速くなる・・・かも。
• デメリット
– 他のエディタで操作を間違う危険性
• 編集が終わってESCキーを押す
(Excelのセルの修正が飛ぶ)
• 保存しようとして「:w」と入力、など
Railsによる開発をするために
• VimにPluginを導入する!
– ディレクトリツリーを表示
– 特定のモデルを指定して表示
• Pluginを管理するPlugin
– vundler
vundlerのインストール
• gitでcloneするだけ
git clone 
https://gitbub.com/gmarik/vundle.git 
~/.vim/vundle.git
設定ファイルの編集
• 「~/.vimrc」に記述
filetype off
set rtp+=~/.vim/vundle.git/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'tpope/vim-rails‘
filetype plugin indent on
vundler
初期化
インストール
するPlugin
Bundleコマンド
• Bundle 'tpope/vim-rails‘
– Github上のリポジトリから取得
• Bundle ‘dbext.vim’
– vim-scripts上のリポジトリから取得
• Bundle ‘git://repository_url’
– それ以外のgitリポジトリから取得
Pluginのインストール
• インストール
– Vimを開いて「:BundleInstall」コマンド実行
• 再インストール
– 「:BundleInstall!」コマンド実行
Rails開発で使えるPlugin
• rails.vim
– MVC間を簡単に行き来する
• unite-rails
– 一覧表示をさせる
• The-NERD-tree
– ソースツリーを表示
rails.vim
• .vimrcで「Bundle ‘tpope/vim-rails’」
• vimでrails開発をする、といったらコレ!
• controllerのアクションの場所で「:R」
– 関連するビューを開く
• 「:Rmodel [モデル名]」
• 「:Rview [ビューのパス]」
• 「:Rcontroller [コントローラ名]」
unite-rails
• ファイルを一覧表示&絞り込みしてくれる
• 「:Unite rails/model」
• 「:Unite rails/controller」
• 「:Unite rails/view」
などなど
unite-railsの画面
The-NERD-tree
• 「:NERDTree」コマンド
– ソースツリーを表示
キーマップを変えておく
• 「:Rmodel」 → 「:Rm」
• 「:NERDTree」 → 「:Rt」
• 「:Unite rails/model」 → Ctrl-Hを2回入力
良く使うコマンドを簡単にしておくことで、
更に効率が高まる!
その他にも
• Vim上でGitと連携
– 「git status」や「git-blame」を見やすく
– Vimからコミットもできる!
• 入力補完
– 入力途中に候補を出す
まとめ
• Vimのコマンドを覚えるのはちょっと大変
– 作業効率面では良いのでは
– 自分好みにカスタムしよう!!
• Railsでの開発のための機能
– Pluginを入れる毎に新しい世界が。。。
ご静聴ありがとうございました。

More Related Content

PDF
Shougoの開発環境
PDF
かなりすごい発表(かなり) at VimConf2014
ODP
Ultimate completion environment with neocomplcache in vim
PDF
Vimから見たemacs
PDF
暗黒美夢王とEmacs
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PDF
neovim = VM
ODP
modern X86 environment
Shougoの開発環境
かなりすごい発表(かなり) at VimConf2014
Ultimate completion environment with neocomplcache in vim
Vimから見たemacs
暗黒美夢王とEmacs
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
neovim = VM
modern X86 environment

What's hot (20)

PDF
neobundle.vimについて+おまけ
PDF
Unite vim
PDF
うわ…私のEmacs力、低すぎ...?
PDF
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
PDF
Vimを学びたい初心者のための5つの豆知識
PDF
Vim = VM
PPTX
エディタ戦争
PDF
すごいVimでhaskellを書こう@なごやまつり
PDF
VimとRubyのアツい関係
PDF
Vimはこわくない
PDF
Vim の開発環境
PDF
anyframeを使おう
PDF
Tdd vim
PDF
anyframeを使おう
PDF
rucs_vim LT
PDF
Vimの魔術
PDF
2021 01-25 lt sho kato
PPTX
em-dosbox
PPT
Flash Playerの作り方
PDF
「とても小さいVim」vim tiny
 
neobundle.vimについて+おまけ
Unite vim
うわ…私のEmacs力、低すぎ...?
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Vimを学びたい初心者のための5つの豆知識
Vim = VM
エディタ戦争
すごいVimでhaskellを書こう@なごやまつり
VimとRubyのアツい関係
Vimはこわくない
Vim の開発環境
anyframeを使おう
Tdd vim
anyframeを使おう
rucs_vim LT
Vimの魔術
2021 01-25 lt sho kato
em-dosbox
Flash Playerの作り方
「とても小さいVim」vim tiny
 
Ad

Viewers also liked (20)

PDF
Railsチュートリアルの歩き方 (第4版)
PDF
Railsチュートリアルの歩き方 (第3版)
PPTX
Fluentd勉強会 (導入編 TreasureData活用)
PPTX
PPTX
リーダブルコード 1.0'
PPTX
仮想マシンとVagrant + Vagrant 1.5
PPTX
Ipros techmeetup 20131218_scala_handson
PPTX
PDF
Fluentd introduction at ipros
PDF
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
PPTX
インフラエンジニアLv1がWordPressまわりに色々してみた話
PDF
CSS Nite LP38に行ってきた
PDF
MBaaS - Parse
PPTX
Hubotを使ってbotをつくろう!
PPTX
Vagrant勉強会アップロード用
PPTX
Fluentd+elasticsearch+kibana(fluentd編)
PDF
Fluentdで本番環境を再現
PDF
Enjoy the Ansible
PDF
Markdownでドキュメント作成
PDF
Presto As A Service - Treasure DataでのPresto運用事例
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第3版)
Fluentd勉強会 (導入編 TreasureData活用)
リーダブルコード 1.0'
仮想マシンとVagrant + Vagrant 1.5
Ipros techmeetup 20131218_scala_handson
Fluentd introduction at ipros
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
インフラエンジニアLv1がWordPressまわりに色々してみた話
CSS Nite LP38に行ってきた
MBaaS - Parse
Hubotを使ってbotをつくろう!
Vagrant勉強会アップロード用
Fluentd+elasticsearch+kibana(fluentd編)
Fluentdで本番環境を再現
Enjoy the Ansible
Markdownでドキュメント作成
Presto As A Service - Treasure DataでのPresto運用事例
Ad

Similar to 初心者Vimmerによるvim+rails開発 (20)

PDF
「Vim初心者によるVim入門@haman29」
PDF
(初心者向け) Vim の機能紹介@nagoya.vim #1
PDF
速習Vim
PDF
Vi Boot Camp #1
PDF
Vim の話
PDF
Vim no susume
PPTX
Vimの基本の基本
PPT
Linuxにおける開発環境
PDF
Ruby on vim yokohama.vim発表資料
PDF
DevEnv Tryit.vim Phrase.vim
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
PPTX
Vim勉強会
PDF
易しいVim
PPT
080720 Vim M
PDF
Vi(m)を教えた話
 
PDF
Vim kindergarten
PDF
Vim script と vimrc の正しい書き方@nagoya.vim #1
PPTX
秋のVim祭り Rubyを添えて
PDF
1 Linux入門 第5章 スクリーンエディタ-vi-
PPTX
kyoto vim#1
「Vim初心者によるVim入門@haman29」
(初心者向け) Vim の機能紹介@nagoya.vim #1
速習Vim
Vi Boot Camp #1
Vim の話
Vim no susume
Vimの基本の基本
Linuxにおける開発環境
Ruby on vim yokohama.vim発表資料
DevEnv Tryit.vim Phrase.vim
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
Vim勉強会
易しいVim
080720 Vim M
Vi(m)を教えた話
 
Vim kindergarten
Vim script と vimrc の正しい書き方@nagoya.vim #1
秋のVim祭り Rubyを添えて
1 Linux入門 第5章 スクリーンエディタ-vi-
kyoto vim#1

初心者Vimmerによるvim+rails開発