How To Rename Multiple Files Using Vim
In this post we will talk about vim and vim plugins to rename multiple files.
For this exercise. I will create dummy files.
mkdir test
cd test;touch file1 file2 file3
ls
file1 file2 file3
How to use vimv to rename files
lets first install vimv using following command.
mkdir -p ~/bin/;curl -XGET https://raw.githubusercontent.com/thameera/vimv/master/vimv > ~/bin/vimv && chmod +755 ~/bin/vimv
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 944 100 944 0 0 10260 0 --:--:-- --:--:-- --:--:-- 10260
Ok once it is installed. Lets rename the files we created above using vimv
To rename the files either type vimv or vimv file* on your bash command prompty. You would get following file names opened in the vimv editor. Follow the steps shown in the snapshots below.
Lets change the file names to f1, f2 and f3
Lets now save the file using :wq
:wq
As we see the file names have changed. Lets do unix ls to check.
ls
f1 f2 f3
How to rename files in vim using vim plugin vim-renamer
Lets install it using pathogen.
cd ~/.vim/bundle
git clone https://github.com/qpkorr/vim-renamer
Now you have vim-renamer installed. Make sure you are outside the test directory. Open vim and type :Renamer test.
You should see below output.
To rename the files do :Ren. I am changing f1 to file1 and f2 to file2 and leaving f3 as it is. Remember dont remove f3, otherwise it will delete the f3 on exiting the vim.
Now get out of vim. You would see your file names have changed. Lets do ls to check that.
ls test/
f3 file1 file2
As we see above f1 and f2 have been renamed to file1 and file2 and f3 name is not touched.
How to rename files in vim using vim utility mvim
This utility is similar in usage to vimv. This requires python version 3.6 and above
Lets install it first.
cd /tmp/;git clone https://github.com/bouttier/mvim;cd mvim;python setup.py install
Go inside the directory where your files are.
ls
f3 file1 file2
Lets rename the above files using mvim. Do following...
mvim f*
You would see list of files.
Lets change all these file names to new names as shown below. Save and exit out of tile using :wq
You should see following output.