Renaming files when you are coding can be a time consuming and annoying chore. You just want to get it over with quickly so that you can get back to your real work.
This is how I used to do it:
1. suspend vim to get to the terminal 2. mv lib/old_file.txt lib/new_file.txt 3. resume vim 4. notice warning about file no longer existing 5. open the new file
A Faster Way
I found this handy vim function in Gary Bernhardt's .vimrc:
function! RenameFile() let old_name = expand('%') let new_name = input('New file name: ', expand('%'), 'file') if new_name != '' && new_name != old_name exec ':saveas ' . new_name exec ':silent !rm ' . old_name redraw! endif endfunction map <leader>r :call RenameFile()<cr>
Once you have that in your
.vimrc, renaming a file becomes much simpler.
You don't even have to leave vim:
1. <leader>r 2. correct filename 3. press enter
Congrats. You just sharpened your tools and saved yourself a few seconds per day.