" Rename.vim - Rename a buffer within Vim and on the disk " " Copyright June 2007 by Christian J. Robinson " " Distributed under the terms of the Vim license. See ":help license". " " Usage: " " :Rename[!] {newname} command! -nargs=* -complete=file -bang Rename :call Rename("", "") function! Rename(name, bang) let l:curfile = expand("%:p") let v:errmsg = "" silent! exe "saveas" . a:bang . " " . a:name if v:errmsg =~# '^$\|^E329' if expand("%:p") !=# l:curfile && filewritable(expand("%:p")) silent exe "bwipe! " . l:curfile if delete(l:curfile) echoerr "Could not delete " . l:curfile endif endif else echoerr v:errmsg endif endfunction