mac vim で rspec を個別実行するためにやったこと
qiitaにあったのを参考に。(qiitaの記事はコメントにある通りtypoしてるので気をつけてくださいませ)
tmuxとvim-rspecとvim-dispatchで快適なRSpec生活 - Qiita
~/.vimrc に必要なプラグインを記載
NeoBundle 'tpope/vim-dispatch'
NeoBundle 'thoughtbot/vim-rspec'
:NeoBundleInstall を実行
するとインストールされます。
で、とりあえず適当な spec ファイルを vim で開いて以下のどれかを実行
:call RunCurrentSpecFile()
:call RunNearestSpec()
:call RunLastSpec()
:call RunAllSpecs()
ちゃんと実行されるか確認。
僕の環境の場合は rbenv を使っているためか vim で実行される ruby のバージョン(:!ruby -v)とターミナルで実行される ruby (ruby -v) のバージョンが異なっていたので、~/.zshenv に以下のファイルを作成しました。
if [ -d ${HOME}/.rbenv ] ; then
PATH=${HOME}/.rbenv/bin:${PATH}
export PATH
eval "$(rbenv init -)"
fi
これで vim でもターミナルでも同じバージョンの ruby が使われたことを確認。
あとは tmux を brew でインストール
brew install tmux
して spec ファイル内で各種コマンド(:call Run...)を実行すれば別ウィンドウで rspec が動きました。やっぱ vim のプラグイン環境はすごい。知らないこといっぱい。vim楽しい。
qiitaに投稿してる人のgif画像ではなんかvim内の補完機能で :call RunNearestSpec() を実行していたけどあれ何のプラグイン?なのか分かる人いませんか?んーvim本買おうかな。
vimrc のメモ
NeoBundle 'tpope/vim-dispatch'
NeoBundle 'thoughtbot/vim-rspec'
let mapleader=" "
let g:rspec_command = "Dispatch rspec {spec}"
nmapc :call RunCurrentSpecFile()
nmapn :call RunNearestSpec()
nmapl :call RunLastSpec()
nmapa :call RunAllSpecs()