我正在尝试这个:
inoremap <F2> :!rspec %
但它不起作用。有人可以帮忙吗?
答案 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窗口中列出错误。