Use Vidir to Quickly Edit Filenames in Your Editor
If you have installed moreutils (see below), you can type vidir to
open up the current working directory in your $EDITOR. You can use all
the power of your editor to edit and/or delete filenames and
directories. Editing a line will rename the file or directory, deleting
a line will remove the file or directory.
The following will list all your JPEG pictures in the current directory in your editor:
$ vidir *.jpeg
vidir is not recursive by default: if you want to recursively edit
filenames, you can do:
$ find -type f -name '*.jpeg' | vidir - # take note of the trailing dash -
Deleting non-empty directories
When trying to delete a non-empty directory, vidir will complain:
/usr/bin/vidir: failed to remove ./non-empty-directory: Directory not empty
We can use find again:
$ ls -1 non-empty-dir
file1.txt
file2.txt
$ find | vidir -
1 ./non-empty-dir
2 ./non-empty-dir/file1.txt
3 ./non-empty-dir/file2.txt
When we delete all the files from the directory and the directory itself, the directory will be deleted.
To see what vidir is actually doing, you can pass it the -v or
--verbose flag:
$ find | vidir -v -
removed './non-empty-dir/file2.txt'
removed './non-empty-dir/file1.txt'
removed './non-empty-dir'
How to install
In Arch Linux, you can install the moreutils package with sudo pacman -S moreutils. On Debian distros, you can run sudo apt install moreutils.