 One of the cool things with Emacs is you're never done learning with Emacs. You're always learning new and exciting things. Even me, I've been using Emacs now for several years, and I'm constantly amazed at some of the things Emacs can do, such as bulk renaming. Now, this is one of the problems that we often run into on Linux. You have a bunch of files that you need to rename. They're all named kind of similarly, but then you need to go ahead and do a bulk rename. Well, in a GUI file manager, you would have to click on each file and rename it. Click on the next one, rename it. If you have dozens or hundreds or thousands of files, it would take you hours, days, weeks to do such a rename. Now, the good thing is we have the Linux command line, and there's a lot of command line tools that you could use, that you could pipe together, string together to actually make that magic happen. You could do a for loop in the bash shell and using things like the find command and the move command, but honestly, if you're not a scripting guru, some of that can be a little tricky, but actually Emacs makes bulk renaming rather simple. So let me switch over to my desktop and let me go ahead and launch Emacs, and let me go ahead and enter DearEd here. So this is my home directory inside DearEd. Now, by default, these DearEd buffers are not writable, so you can navigate around, but if I got into insert mode and just started typing stuff, you know, that's not actually going to change the name of that file. That file was named .bash underscore history, and I just added a bunch of random characters to it, but that's not going to be saved. If I do a space br for buffer refresh, it refreshes this DearEd buffer, and you can see the file name goes back to .bash underscore history. So what you have to do in DearEd, you have to switch over to a writable DearEd buffer. So let me do space fc for findmyconfig.org, and I've added some key bindings here under the general key bindings heading here, under space d. The space d bindings are all of my DearEd bindings. Let me zoom in here. I've added two new key bindings. The first one, space dw runs the wDearEd, the writable DearEd, and what it does, it changes to the writable DearEd mode. That way you can actually overwrite the file names and directory names, and it will save that. And then the other key binding I added was space df for DearEd, finishEdit. It's the writable DearEd finishEdit command. So what you do is space dw will get me into a writable DearEd mode where I can edit things, and then space df finishes that edit, meaning it saves what I did. It's not saved until I actually do the space df at the end. I hope that makes sense. Let me go back to DearEd here. Let me go back into my home directory, and let me navigate to a test directory that I have on the system. I have this directory here called test. It's an empty directory, but let's fill it with something. Let me do space tb for toggle vterm, and I'm going to run this command here, the sequence command. I'm going to sequence 25, the number 25, 1 through 25, right? And then I'm going to pipe that through xorgs, and then I'm going to touch. Touch is going to create some files. I'm going to touch foo 1 through 25 dot txt. And if I hit enter, do it ls here in the vterm, you can see it created foo 1, foo 2, foo 3 dot text, right? So now that I've done that, I can actually get out of the vterm. Let me space br to buffer refresh the DearEd buffer. And there are those files in this DearEd buffer. Now to do a bulk rename here inside DearEd is really simple. All you need to do is switch to that writable DearEd mode. So remember, I binded it to space dw for DearEd writable. And you can see in the echo area, I've got press space df when finished or capital Z, capital Q to abort the changes. So the changes are not saved until I do space df. If I want to abort any changes, I made a mistake. Capital Z, capital Q will abort the changes. So let me go ahead and get into insert mode. Actually, I'm going to go into a visual block mode. So I'll do control V, your standard vim binding, right? Because we're in evil mode. And I'm just going to go down and all of these foos. I want to change them. So now I'm going to hit C on the keyboard for change. And now I'm going to change that to bar escape. And now I've changed foo 1 through 25 dot txt to bar 1 through 25 dot txt. And then if I do a space df for writable DearEd FinishEdit, you can see it says remaining done. And now these changes have taken effect. If I do space br for buffer refresh, you can see this has actually been saved. This is actually the names of these foos now. So that is a super easy way. In this case, I changed 25 file names. But you can imagine this could have been a thousand foes and it would have been just as quick. So if I go back to the top here, let me escape. Let me go to the end of the line. And once again, I'm going to do space dw to get into that writable DearEd mode. Control V to get into visual block mode. I'll space over a couple of times. I'll do a capital G to go to the bottom line. Let me up arrow to go up one line. And you can see I've selected all the bars. C for change. And then I could change it to file escape. And you can see I've changed all the file names from bar 1 through 25 dot txt to file 1 through 25 dot txt. And finally to make it permanent space df for writable DearEd finish edit. Now, I know this probably seems like a really simple thing. But honestly, this is the kind of thing that makes me want to use Emacs over any other text editor because this bulk renaming problem again, it's kind of a big deal. You'll occasionally run into it on Linux and you've got to go into a terminal at the command line. And you've got to do some rather exotic things. Sometimes to make this bulk renaming magic happen. There are some specialty command line tools like the rename command, which is not part of the GNU core utility. Typically, you have to install rename yourself. But there is a rename command line tool. I've done a video on it in the past. But like in if you were in Vim or Neo Vim or VS code, things like that. How would you do that bulk rename? Well, what you would have to do is you would have to enter command mode. For example, in Vim or open a terminal of VS code has a way to enter shell commands and yet pretty much most IDEs have a way for you to get a terminal command line. So you could actually do the standard command line way of renaming those files. But because Dear Ed is built into Emacs and you have that writable Dear Ed mode, that's something pretty special. Now is this writable Dear Ed mode special enough to get you to maybe try Emacs? If you were a Vim user, would it make you want to maybe leave them for a little while and give Emacs a try? I don't know. Again, it's not the kind of problem that you run into every day. It's probably something that crops up two, three times a year where you need to do some bulk rename and, you know, just the fact that it just took a couple of seconds inside that Emacs Dear Ed buffer. Again, quite amazing. Now before I go, I need to thank a few special people. I need to thank the producers of this episode. Daniel, Gabe, James, Matt, Paul, Roy, West, Armoredragon, Commander, Angry George, Lee, Methos, Nate, Er, Yon, Paul, Peace, Archimvedor, Reality, Forlust, Red Prophet, Roland, Solas, Street Tools, Devler, Warr, Jintu, and Ubuntu, and Willie. They're my highest tiered patrons over on Patreon. These guys, they are the producers of the episode that you just watched. The show is also brought to you by each and every one of these fine ladies and gentlemen. All these names you're seeing on the screen right now. These are all my supporters over on Patreon. I don't have any corporate sponsors. I'm sponsored by the community. If you like my work and want to see more videos about free and open source software like Emacs, subscribe to DistroTube over on Patreon. All right, guys. Peace. Vim, it's just a temporary landing spot until you discover Emacs.