Я не думаю, что есть собственный способ изменить имя буфера, но восстановление текущего буфера не является сложной задачей:
function! Rename(buffer, name)
let current = bufnr("%")
execute a:buffer . 'bufdo file ' . fnameescape(a:name)
execute 'buffer ' . current
endfunction