Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This is a lightweight RSpec runner for Vim and MacVim.


Recommended installation with vundle:

Plugin 'thoughtbot/vim-rspec'

If using zsh on OS X it may be necessary to move /etc/zshenv to /etc/zshrc.


Key mappings

Add your preferred key mappings to your .vimrc file.

" RSpec.vim mappings
map <Leader>t :call RunCurrentSpecFile()<CR>
map <Leader>s :call RunNearestSpec()<CR>
map <Leader>l :call RunLastSpec()<CR>
map <Leader>a :call RunAllSpecs()<CR>

Custom command

Overwrite the g:rspec_command variable to execute a custom command.


let g:rspec_command = "!rspec --drb {spec}"

This g:rspec_command variable can be used to support any number of test runners or pre-loaders. For example, to use Dispatch:

let g:rspec_command = "Dispatch rspec {spec}"

Or, Dispatch and Zeus together:

let g:rspec_command = "compiler rspec | set makeprg=zeus | Make rspec {spec}"

Custom runners

Overwrite the g:rspec_runner variable to set a custom launch script. At the moment there are two MacVim-specific runners, i.e. os_x_terminal and os_x_iterm. The default is os_x_terminal, but you can set this to anything you want, provided you include the appropriate script inside the plugin's bin/ directory.

iTerm instead of Terminal

If you use iTerm, you can set g:rspec_runner to use the included iterm launching script. This will run the specs in the last session of the current terminal.

let g:rspec_runner = "os_x_iterm"

If you use the iTerm2 nightlies, the os_x_iterm runner will not work (due to AppleScript incompatibilities between the old and new versions of iTerm2).

Instead use the os_x_iterm2 runner, configure it like so:

let g:rspec_runner = "os_x_iterm2"

Running tests

Tests are written using vim-vspec and run with vim-flavor.

Install the vim-flavor gem, install the dependencies and run the tests:

gem install vim-flavor
vim-flavor install



rspec.vim is maintained by thoughtbot's Vim enthusiasts and contributors like you. Thank you!

It was strongly influenced by Gary Bernhardt's Destroy All Software screencasts.


rspec.vim is copyright © 2016 thoughtbot. It is free software, and may be redistributed under the terms specified in the LICENSE file.

The names and logos for thoughtbot are trademarks of thoughtbot, inc.