 So this topic is one that I've talked at great length about in the past But it keeps coming up and it's one that's very difficult to really explain to people So that's why a lot of people keep asking questions about Emacs and Vim Vim versus Emacs. What's the difference if I'm a Vim user? Why should I even want to use Emacs? What's the reason and a part of the confusion is a lot of people Compare Vim and Emacs and to be honest Vim and Emacs are not even remotely comparable Because they are so vastly different. They're just fundamentally Totally different things and I think this is part of the reason why no one's ever really been able to answer This question properly because you know when somebody asked hey, why should I the Vim user switch to Emacs? When you know and no one no one's gonna have a good answer for that because that question for one thing It's almost nonsensical. That is like me asking hey I'm a notepad plus plus user. Should I switch to steam? It's like wait what you know Like notepad plus plus is an editor steam obviously is a gaming platform It's like the question doesn't even make sense and it's almost that kind of way with Vim and Emacs They are so not the same thing, you know really truly apples to oranges, right? So when you ask hey, should I switch from Vim to Emacs? It's almost like you're asking something ridiculous like should I switch from Firefox as my browser to Thunderbird as my email client is like wait what you know, I don't under I can't even understand the question So how could I possibly give you an answer now having said all that? I am actually going to try to answer the question today at least I'm gonna give it my very best shot So let's talk about you know why people criticize Emacs as far as like the Vim users that don't want to switch to Emacs You know, what are they typically complaining about? Well, I think the biggest criticism about Emacs seems to be That Emacs is a text editor, which it's really not you know that that's why the question Hey, should I switch from Vim to Emacs? Why that question is nonsensical is because Vim is a text editor Emacs really isn't a text editor and that's where really the confusion comes from especially if you're a Vim user that has tried to use Emacs, you know, so many of you guys that are Vim users, you know You switch to Emacs thinking it's a text editor and that's what you're trying to do You're trying to just have Emacs be your text editor and it doesn't make sense to you and the reason it doesn't make sense Is because Emacs is not really a text editor. At least it's not solely a text editor Emacs Really is more akin to a complete operating system. It's really more akin to being a window manager It's really you could almost think of it as being a terminal emulator more than a text editor like the text editing Yeah, there's a text editor component to Emacs. Emacs has a text editor But Emacs is definitely not a text editor and when we're talking about Emacs being a replacement for something Emacs really isn't a replacement for your text editor like Emacs is not meant I wouldn't say Emacs is your replacement for Vim Emacs is really a replacement for your terminal emulator and the terminal emulator Workflow that so many of you guys are used to Emacs. It basically replaces all of that Let me switch over to my desktop and let's discuss, you know, your traditional terminal workflow So you open a terminal typically, right? You're open a terminal and here at the command line You run some commands. Maybe you do an LS you CD around to I don't know different things We'll just CD here. I'll do a LS check what is in here and then, you know, you'll open something In Vim, right? And then you'll play around you'll do your edits You know, whatever edits you want to make right and then you'll ride and quit and then you're back at the command line So once again, you know CD around and do all of your GNU core utility commands, maybe you'll manipulate some streams of text using things like grep said all get all of that stuff And then maybe you'll find another file that you'll want to edit and you'll you and you'll end up back in your text editor Because a lot of times you'll end up in text editors in this kind of workflow And then you quit you're back at the command line and then finally when you think you're done with everything You'll close out of the terminal. So that's your traditional terminal based workflow And when I say emacs is more of a replacement for a terminal than a replacement for VM or whatever text editor You're using is because you know, the emacs workflow is very similar to a terminal workflow as in, you know How you get things done? So in emacs what you do is you just open emacs You don't open a terminal right and you just open emacs and you can run some commands You could do a meta X to get a list of all the thousands of various emacs commands to run Or if you got key bindings for certain things you can you know do a key binding to open whatever program or here Whatever, you know text file I want to open, you know And I can play around in this file and do whatever changes I want to do and then when I'm done You know, I can save the file. I can quit out of the file I can go somewhere else inside of emacs But you know in emacs unlike the terminal workflow where when you quit out of them You just drop back to the command line Yeah, I can go anywhere I want to in emacs So I want to I can go back to the dashboard page But if I you know wanted to go somewhere else, you know, I could just go to my list of buffers That's another thing that's a little bit different with emacs and Vium is buffers, right? So both emacs and Vium have buffers a buffer is just you know a program That's running that's open that you can come back to the difference is Vium Of course being a text editor, you know Those buffers are just text editing buffers where everything you do in emacs is a buffer So if I go to the web browser in emacs, so if I do EWW and let's go to distro.tube My website, you know, I can go here and this buffer, you know It'll be in the buffer list as long as I don't kill this buffer This buffer will always be around I go back to my emacs config if I wanted to I could you know go to My Qtile config and you'll notice, you know, the text here is different. It's not zoomed in, right? This is a normal size text because I didn't zoom in in this buffer, right? I zoomed in in this buffer That's another thing with emacs because you have these different buffers and they all have their own, you know Memory as far as what you were doing in them and as long as you never kill the buffer You could end up with dozens or in some cases even hundreds of these buffers and emacs that you can switch between and It's you know, it's a radically different kind of workflow Than your terminal-based workflow your terminal-based command line vm-based workflow because you don't have that You don't have those kinds of buffers. Yes, vm has buffers But vm has buffers within vm itself, right and vm is just a text editor Where emacs is really that whole terminal experience all of your command line programs all of your incurses programs your Terminal user interface programs your text editor everything you do Imagine if you're terminal and everything you did in it had buffers all all the programs Were part of this one unified interface and because they were all one unified interface They all use the same key bindings and like how magical would that be if every single thing you did in the terminal They all shared the same key binding. So that's essentially what emacs is It's giving you that terminal kind of workflow But instead of opening a terminal you open emacs the difference is everything you do inside of emacs is again It's unified under that one interface that one set of key bindings. Everything is configured in one config file Right now everything all of your imagine if your terminal emulator and every single one Every single one of your command line programs incurses programs terminal user interface programs They were all written in the exact same language Configured in the exact same config file That's what emacs is. So that's why the question about switching from vm to emacs If no one ever can really answer that because again, it's such a nonsensical question because again emacs is not really replacing vm Emacs is replacing your terminal think of your terminal emulator here and everything you do at the command line Then you end up in a text editor such as vm You imagine, you know, you spend a lot of time at the terminal if you're one of those people that you do so much work in the terminal You're no longer going to do that if you switch to emacs if you're using emacs the way it's supposed to be used Emacs is essentially replacing your terminal. So instead of opening a terminal to begin Whatever work you're about to do you open emacs do everything in emacs, right? You've got your text editor inside of emacs if you need to run things at a shell prompt You've got various shells when within emacs such as the e-shell which the e-shell is, you know, quite magical Let me open up e-shell here in another Window, let me move it so you my head's not in the way But the e-shell is awesome because it's got a lot of your standard command line Like gnu core util kind of applications that you can run But of course being that it's written in emacs list, I could run a Emacs list program such as the fine file command your standard emacs fine file command program I could find file my dot bash rc when I do that It's going to open the dot bash rc in an emacs editing buffer, right? And when I'm done, I could you know go back to my previous buffer I'll still be in the e-shell So again emacs it's really all about replacing your terminal workflow the question about vim and emacs They're not comparable. One's a text editor one is a much more complete Environment a complete user interface where you know, again, it would be like me asking Hey, should I switch from my text editor g edit to Qtile the window manager, right? That actually is a very good analogy, right? Because asking should I switch from g edit to qtile is essentially like asking Should I switch from vim to emacs because vim again is a text editor where emacs is Much closer to being something like a window manager than a text editor I think what really kind of muddies the water a little bit when we Ask these questions about vim and emacs and trying to compare the two trying to decide Which one is right for you as too many people focus on things like features and functionality Especially, you know missing features and missing functionality. If I switch from vim to emacs What am I going to be missing? You know, what do I need to do? What do I need to tweak and it's not about that at all as far as you know functionality and features Vim and emacs as far as their text editing capabilities. It's pretty much on par with each other So it's nothing about that. You know, that's that's not what we're talking about when we talk about vim versus emacs So it's all about the differences in workflow. That's the difference, right? That's part of the reason why so many people Criticize emacs or resist emacs. They don't really want to touch it It's because they know it's going to be a different kind of workflow and you know people resist change people fear change people resist change And I get it because I'm the same way in many aspects of my computing life You know, I don't like breaking existing workflow And you certainly have to break your workflow if you switch from that terminal based Workflow to emacs because now all of your terminal based programs that you used to run all of those terminal based Editors and file managers various incurses programs and things like that that you used to run You know, you're gonna learn all new programs because no longer you're gonna use those terminal based programs You're gonna use emacs based programs that will replace all of that stuff But here's the thing even though you're gonna have to learn some new things And yes, it's going to take a little work once you get there again that unified That you'll have under emacs for having all things be emacs because they all share the same interface the same config file Written in the same programming language, which you've learned that one programming language emacs list You can edit all of your programs. It's It's magical. I mean in a lot of ways emacs is magic It's it's the beauty of emacs. So hopefully I did a better job answering that question than Maybe I've answered it in the past. Maybe other people have answered it. I don't again It's such a again. It's a weird question because me and emacs are so totally different It's just it's a strange question and obviously that's why you get so many strange answers Now before I go, I need to thank a few special people I need to thank the producers of this episode gave James matt paul steve west archotic armor dragon commander angry george lee Matthew mythos nate erion paul peace arch and fedora realities for less red prophet rolling soul astri tienren tools devlore jentoon Ubuntu and willy these guys my highest tiered patrons over on patreon without these guys This little rant about them versus emacs as far as workflow It wouldn't have been possible the show's 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 you guys the community if you like my work I want to see more videos about free and open source software including emacs subscribe to distro tube over on patreon. Peace guys