目前我的 vimrc 有以下键映射:
map <leader>m :w\|!clear && rspec --drb %<cr>
map <leader>k :w\|!clear && rspec --drb %:<C-r>=line('.')<CR><cr>
map <leader>c :w\|:!clear && cucumber --drb -r ./features %<cr>
map <leader>x :w\|!clear && cucumber --drb -r ./features %:<C-r>=line('.')<CR><cr>
但是我想将它们合并到(两个)函数中,这些函数对于行与文件具有相同的键盘映射,我尝试了以下方法,但 Vim 抱怨缺少括号:
function! TestCurrentLine()
let spec = '*_spec\.rb'
if !(expand("%") =~ spec)
:!clear && cucumber --drb -r ./features %:<C-r>=line('.')<CR>
else
:!clear && rspec --drb %:<C-r>=line('.')<CR>
end
endfunction
function! TestCurrentFile()
let spec = '*_spec\.rb'
if !(expand("%") =~ spec)
:!clear && cucumber --drb -r ./features %
else
:!clear && rspec --drb %
end
endfunction
map <leader>m :w\|call TestCurrentFile<cr>
map <leader>k :w\|call TestCurrentLine<cr>
有任何想法吗?