如何映射VIM以在控制台中运行当前的RSpec文件?

时间:2014-05-23 19:12:16

标签: vim

我正在尝试这个:

inoremap <F2> :!rspec %

但它不起作用。有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

inoremap中的“i”表示“插入模式”:您的映射是插入模式映射,因此它显然无法在正常模式下工作。

尝试nnoremap(“正常模式”为“n”)并在末尾添加<CR>以实际执行命令:

inoremap <F2> :!rspec %<CR>

既然我们在这里,您也可以将其修改为“编写并运行”:

nnoremap <F2> :update<bar>!rspec %<CR>

答案 1 :(得分:0)

也许这是使用rspec检查文件的更好解决方案(将这些行放入.vimrc,需要设置nocompatible,在插入模式下工作):< / p>

" Open quickfix window after :make if there was errors.
autocmd  QuickFixCmdPost  *  botright cwindow

inoremap  <F2>  :call Rspec()<CR>

" Check the file with rspec, don't forget to save it before calling.
function Rspec()

  let save_makeprg = &makeprg
  compiler rspec
  let &makeprg = 'rspec "' . expand( '%' ) . '"'
  echo expand( &makeprg )
  silent make
  let &makeprg = save_makeprg
  redraw!

endfunction

它将在quickfix窗口中列出错误。