Vimで快適なRails開発をはじめるまで

Netbeans7がRubyのサポートを終了するとの発表があったのを機にVimデビューします。
Rails開発する前提で、Vimに関する内容をこの記事にまとめていきます。
(今回、VimをインストールしたのはUbuntu10.10-serverです。)

Vimをインストール(Ubuntu10.10-server)

$ sudo apt-get install vim vim-gnome vim-nox

vim-noxはオムニ補完で必要でした。


vim-pathogenでVimプラグインを管理します

vim-pathogenはVimプラグイン管理をし易くするためのプラグインで、
これを使うとgit経由でプラグイン取得できるようになります。

使い方
$ mkdir -p .vim/autoload
$ mkdir -p .vim/bundle
$ cd .vim/bundle
$ git clone http://github.com/tpope/vim-pathogen.git
$ ln -s ~/.vim/bundle/vim-pathogen/autoload/pathogen.vim ~/.vim/autoload/

.vimrcに追記

call pathogen#runtime_append_all_bundles()
call pathogen#helptags()


submodule化してインストールしたいVimプラグインを.vim/bundle配下に取得してきます。

$ git submodule add git://github.com/tpope/vim-pathogen.git .vim/bundle/vim-pathogen
$ git submodule add https://github.com/motemen/git-vim.git .vim/bundle/git-vim
$ git submodule add https://github.com/scrooloose/nerdcommenter.git .vim/bundle/nerdcommenter
$ git submodule add https://github.com/msanders/snipmate.vim.git .vim/bundle/snipmate.vim
$ git submodule add https://github.com/tpope/vim-endwise.git .vim/bundle/vim-endwise
$ git submodule add https://github.com/thinca/vim-quickrun.git .vim/bundle/vim-quickrun
$ git submodule add https://github.com/tpope/vim-rails.git .vim/bundle/vim-rails
$ git submodule add https://github.com/vim-ruby/vim-ruby.git .vim/bundle/vim-ruby
$ git submodule add https://github.com/tpope/vim-surround.git .vim/bundle/vim-surround
$ git submodule add https://github.com/pix/vim-align.git .vim/bundle/neocomplcache
$ git submodule add https://github.com/mattn/zencoding-vim.git .vim/bundle/zencoding-vim
$ git submodule add https://github.com/Shougo/neocomplcache.git .vim/bundle/neocomplcache
$ git submodule update --init


参考サイト(以下の記事を参考にさせていただきました!):
vimプラグインの管理 - うんたらかんたら日記
vimプラグインをgitのsubmoduleで管理 - うんたらかんたら日記


vim-rubyはgemを作ってインストール
$ cd .vim/bundle/vim-ruby/
$ rake package
$ sudo gem install etc/package/vim-ruby-2011.02.11.gem 
$ ruby bin/vim-ruby-install.rb 

Vim基本操作

検索

/[文字列] : 前方検索
n : 次の候補
N : 前の候補

置換

:s でコマンドで置換
開いている全てで置換する場合は「:%s/置換前文字列/置換後文字列/gc」
cは置換するかどうかを確認します。

スクロール

: スクロール(↑)
: スクロール(↓)

ウィンドウ分割
Ctrl + s # 水平分割
Ctrl + v # 垂直分割
Ctrl + w # ウィンドウ移動
Ctrl + c # 閉じる
grep
:vimgerp /hogehoge/j **/*.rb

検索結果が別ウィンドウで表示され、カーソル行でリターンを押すとジャンプできます。

バッファ
:ls
  4 #    "app/controllers/application_controller.rb" line 1
  5 %a   "app/helpers/application_helper.rb" line 1

バッファの一覧を表示します。

:b 5(行番号)

続けて、バッファにジャンプできます。

行番号を一時的に非表示にする
:set nonu
ソースのインデントをそろえる
1. gg
2. = 
3. G
ファイル編集
:edit
複数行のコメントアウト
<Leader>c<space>		

◆ 他プラグインの使い方

surround.vim

vim plugin (プラグイン) surround.vim の使い方メモ : Serendip - Webデザイン・プログラミング

テキストオブジェクトを「"」で囲む

s"

テキストオブジェクトの「"」を削除

ds"