What Are The Benefits Of Emacs Over Vim?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

I think it's great that DT is gushing about and enjoying using Emacs, but I'm not sure what this video achieved besides bewildering folks who've never used Emacs and antagonizing vim users by saying they're scared to try Emacs.

Allusions to The Matrix and seeding the idea of Emacs users who have put in time to learn its features as belonging to an elitist club are both misguided notions, and likely to bemuse (best case) or piss off potential Emacs users.

EDIT: I didn't mean to be negative there. In an effort to be constructive, I'll update this post with a few demos (not tutorials!) of the ways that Emacs and Org can be used that I've found useful. Configurability, extensibility, versatility - the below videos typify the strengths of Emacs in various ways:

Emacs introduction and Demonstration - Howard Abrams (36 mins)

Technical documentation using org-babel (22 mins): Making consistent, live-updating documentation

General demo of org-mode features - John Kitchin (18 mins)

A lisp repl as my shell - Pierre Neidhardt (24 mis): This is not eshell

Emacs for writers - Jay Dixit (1 hr)

Evil mode, or how I learned to stop worrying and love Emacs - Aaron Bieber (40 mins): Vim user and plugin author tries Emacs

Writing a Spotify client in 16 minutes - Kris Jenkins

Emacs as my go to script language - Howard Abrams (45 mins): visualizing Unix pipes using Emacs

GTD with org-mode - John Wiegley (1 hr): First talk, an advanced demo of using org for task management. The Q&A after the talk is illuminating too.

Using Emacs to order salads - Diego Berrocal (35 mins): Essentially a demo of HTTP requests from inside Emacs.

Podcast manager with Elfeed+Bongo - Protesilaos Stavrou (12 mins): Integrating an RSS reader with a music player to make a podcast manager.

Introduction to ibuffer - Protesilaos Stavrou (13 mins): Handling large numbers of (essentially) open files

πŸ‘οΈŽ︎ 126 πŸ‘€οΈŽ︎ u/karthink πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies

As a Vim user, and having used both (Emacs not as much as I have used Vim), at first glance, Emacs seems to be for people who like to live in their editor, and do everything from there. Vim can somehow do that too (although I'd arguably say Emacs is better for that), but Vim is more lightweight, it just edits text, and maybe has some other goodies, but that's it. I don't want to keep my vim instance running for ages, I'm fine with re-opening even if I change branches. I don't want to use Vim to use spotify or read mail, I can use other apps for that. IMO That's the biggest difference.

That being said, what I like most about Emacs is Lisp. It's way better than Vimscript (what isn't, right?), but even with Neovim adding Lua, I still prefer Lisp all the way.

πŸ‘οΈŽ︎ 14 πŸ‘€οΈŽ︎ u/fedekun πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies

He mentioned a few times that Vim needs to run in a terminal emulator, but that's not true. Both Vim and Emacs can run in a terminal, and in a GUI.

I'm also skeptical of the claim that it takes half a year to know what Emacs "is". I agree it's not obvious when comparing Vim to Emacs, but I don't think it takes long to understand. I would describe Emacs as a platform. Much like a web browser is a platform for running Javascript applications, Emacs is a platform for running Emacs Lisp applications.

πŸ‘οΈŽ︎ 7 πŸ‘€οΈŽ︎ u/b3n πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies

That was helpful! I'm an old time emacs user (since 1986 or so) and it's been my preferred "I DE" since long before anyone knew what an ide was. But even with nearly 4 decades of use, I still find new ways to do things in emacs that are either very hard or impossible to do in other much more "modern" enveriments. I do old school that even now I ssh on putty and use the -nw flags meaning "terminal mode" limited color and mouse support. I rather keep my fingers on the keyboard and away from the mouse. Yet with emacs I get powerful multi window modes, interactive classic debuggers and the ability to cut past and flip windows (buffers) at the speed of touch typing.

All those with very generic vanilla emacs install with nearly no packages beyond the core.

(Of course I still laugh at the old joke "Emacs is a great operating system, just lacking a decent editor")

πŸ‘οΈŽ︎ 5 πŸ‘€οΈŽ︎ u/cosmofur πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies

Personally I don't think vid provided with anything helpful to vim users you should watch Mike Zamansky's vid on comparing emacs and vim.

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/ishan9299 πŸ“…οΈŽ︎ Jun 13 2021 πŸ—«︎ replies

Since the comment was deleted, I'll paste this anyway:

Sure, it's cool that you can view PDFs inside emacs. But none of that is even done well. The image and PDF rendering is severely lacking, so I would much rather just put a PDF in an appropriate document viewer in a window split.

Roam networed notes and being able to just click through and start reading relevant PDFs is super productive, oop lets link to this page from a new note, oh that links to another.

And I can't think of any reason I would need to view images within my editor

To view rich org mode content? My org workout journal has progress pictures.

It's all about the common duct tape to smooth out workflows.

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/codygman πŸ“…οΈŽ︎ Jun 13 2021 πŸ—«︎ replies

I knew as soon as I saw the thumbnail what I could expect from this video, but somehow I still managed to get disappointed...

Started out alright by trying to explain the core differences between the two (although he circled a bit around the most common explanations, without providing much detail) but then he proceed to show off cool little features, as if that's going to mean anything to vim users...

Don't get me wrong. I freaking love org mode, but I'm so sick of seeing people trying to promote Emacs and the first thing they do is jump into an org document an go "Look! It does tables too!". This is the exact reason that "vim users just don't get emacs".

Org and magit are amazing features but people are selling Emacs short by using those as the default argument when trying to explain how it's different than vim. Emacs is so much more than that.

I would've loved to see some actual personalized configuration, or on-the-fly tweaking and programming. Explain how you made Emacs your own, and how you tailored it uniquely to fit your workflows. Show people what it means to live in a lisp interpreter vs a text editor with a plugin interface.

Anything beyond "and then I installed this package. I changed keybindings too!"

πŸ‘οΈŽ︎ 3 πŸ‘€οΈŽ︎ u/Craksy πŸ“…οΈŽ︎ Jun 13 2021 πŸ—«︎ replies

I might be one of the few who went from Emacs to vim.

I do miss org mode, and I used it heavily when I was getting into GTD, but I ultimately in the end, I found vim better because more than half my coworkers use it. Another 25% will use vi key bindings on the favourite editor.

It’s a colourful world. I like that people are evangelical about their editors, but it not really true that people use vi because they don’t understand emacs.

πŸ‘οΈŽ︎ 6 πŸ‘€οΈŽ︎ u/SomewhatGlayvin πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies

I use them both, quick edits I find vim better, but things I'm gonna be digging into for a while I pull up emacs and go to town on stackexchange in eww

πŸ‘οΈŽ︎ 2 πŸ‘€οΈŽ︎ u/10leej πŸ“…οΈŽ︎ Jun 12 2021 πŸ—«︎ replies
Captions
one of the most common questions i get is hey dt why did you choose emacs over vim and you see this all over the internet you see a lot of linux youtubers and programming youtubers you know making videos about them versus emacs and the ones that use vim they can't get emacs they don't understand it they're really not sure even what emacs is as part of the problem that's why the question keeps coming up hey i'm a film user what are the benefits of using emacs why would i leave vm for emacs what does emacs bring to the table especially after i spent all this time working on my vm config i've got all of these plugins that i've installed and i've really turned them into a proper ide and it's really working well for me so why would i bother learning emacs now naturally people want to know what can vim do that emacs can't and what can emacs do that vim can't well let's get this out of the way right now one hundred percent of everything that you can do in them you can do in emacs it does not go the other way though emacs does a ton of stuff that is just not possible within mem because they're not even the same kinds of programs vim is a text editor and it's a text editor that has to run inside a terminal emulator but that's not what emacs is emacs is something much much more because yes there's a text editor to it but you also have all this other stuff built around it like org mode and maggot and even video games and things like that and you know it's really a complete environment unto itself it's this complete environment that can do anything you want as long as you speak the language of emacs which is emacs lisp or e-lisp so if you know a little e-lisp code you know e-max is the e-lisp interpreter that's actually what it is it's not a text editor it's an e-lisp interpreter you write a piece of code using e-lisp emacs interprets that code and that's why emacs has so much stuff available for you that's why emacs can literally do anything anything you can imagine anything you can dream and write it in e-lisp emacs will run that for you now in contrast vim is not an interpreter for a proper programming language right vm again it's just a text editor yes it has an extension language built on top of it so you can write some plugins to extend them a little bit but at the end of the day it's not nearly as powerful as what emacs with e-lisp can be now i think one of the reasons so many people on the internet are constantly asking this hey what can emacs do that vm can't kind of question is that nobody really understands emacs nobody gets it and i i mean nobody unless you've actually used emacs and i don't mean use emacs for a day or a week or even a month you actually have to spend a minimum in my opinion of six months with emacs to even understand what it is because it is it's kind of like the movie the matrix where morpheus is trying to explain to neo you know that nobody can be told what the matrix is you have to experience it you have to see it that's the same thing with emacs i could try to tell you what emacs is but until you actually live in that environment you know you live in it for a little while and one day the light bulb goes off you're like oh i get it now so no one really gets emacs on day one it's impossible i switched to emacs in late uh 2019 so year and a half two years ago nearly two years ago and for me i would say it took about six months for me to finally say hey i understand emacs as far as i understand what emacs is i don't understand everything about emacs because it's impossible to understand everything about emacs because you can do practically anything you can imagine with emacs therefore you're never done learning emacs that's another thing you know there's a steep learning curve with emacs but you know initially i thought that it was just another text editor you know a drop-in replacement for vm i think that's what everybody thinks it is and that's not what it is at all the more i use d-max the more i start to discover all of this truly amazing stuff that you can do inside emacs besides editing text right the more you start seeing emacs as an entire ecosystem into itself you know and this is the part that potential new users just they don't get or they can't get at first you know you're not again you're not going to understand this on day one when people say emacs is a complete environment a complete ecosystem you still don't understand that until you live in it you know by contrast vim is very easy to learn you can pick up vim you know in like 30 minutes right you can run through the vim tutor and have a basic knowledge of everything that vm has to offer you know within 30 minutes as far as the really basic stuff with them you're not going to understand anything about emacs for weeks until you've used emacs and that's part of the problem you see people especially i see youtubers making videos hey i'm going to try out emacs for the very first time whether it's gnu emacs or space max or doomy max and you see dozens of these videos hey let's try out doom emacs and then that person does a live stream and they don't understand anything and they think well this has to be the worst piece of software ever because i don't understand anything what they don't what they don't get is there's no way they could understand anything not on day one it's just not possible now if you're a film user and you're wondering what emacs has to offer i think showing you is probably better than trying to tell you so let me go ahead and open emacs so this is doom emacs and what you're looking at here is a package called dashboard now emacs has packages rather than plugins so vim has plugins that kind of extend them but emacs has packages because emacs has a package manager that manages all the stuff that runs inside emacs because remember emacs is more of a complete environment rather than a text editor that you extend and what the dashboard here is showing me is some of my recent files that i've edited it's showing me agenda for the week as far as my to-do list that i've made inside org agenda bookmarks i don't have anything bookmarked projects so these are project directories that i've worked in here and then the register here is a text that i copied to the register for a copy and paste now let me go ahead and i'm going to hit r on the keyboard here to go to recent files and i'm going to open the very first one which is my exmonad config but this exmonet config is not a haskell document it's actually an org document because the great thing with org mode is you can do literate programming with org mode now what is literate programming well org mode is really kind of an outline utility if i do shift tab here you know i can actually fold uh the org document completely where you know the top level headers they have now been folded if i wanted to unfold one what i could do is i could go down to about this configure and i could hit tab to unfold it tab again to fold it back if i wanted to unfold the whole document i'd do shift tab a couple of times to unfold the whole thing now this even though it's my exmonad config is actually titled readme.org because this is actually the readme file when you go to my exmonad directory on gitlab this is actually the readme that you guys see on that page well how is the readme also my exmonad config which should be xmonet.hs well here in the header of the org document let me make the font bigger here i'll toggle on big font mode here in doom emax and you see the second line here the property line and you see header dash org space colon tangle xmonet.hs so what i'm saying here is header args what i want you to do is i want you to run the tangle program inside emacs and tangle basically what it does is it takes the source code blocks of an organ document and takes the output and writes it to another file where do i want it to write it to i want it to write it to xmonet.hs because that's the name of the proper xml ad config so what it's going to do is it's going to take these haskell source code blocks that you see here begin source haskell you know and that's proper haskell right there that's the imports section of my xml ad config and what it's going to do is it's going to take that source code block and it's going to write that entire source code block to a file called xmoned.hs and it's going to do that for every single source code block in this org document so that allows me to write the haskell code for my config and it gets placed in the proper file but then i can still in the org document you know do a proper outline and you know all of this stuff that's not in the source code blocks so the outlining the bullet points and everything i could write lists i could have tables i could even add thumbnails as far as images i can have all of that stuff that stuff is just treated as comments that's why the readme.org is also my exmoned config as well as a readme and when you do that it really saves a lot of time because you don't have to write two different documents right you're right one document it outputs some of it to a second document and it's once you get into this literate programming stuff you start writing everything in org mode and that's kind of what i've started doing now let me go back to the top of this org document and i'm going to fold it again just for sake of readability i'm going to unfold the about and i'll show you guys this here so in this what i'm doing is i'm adding a screenshot a thumbnail image to the readme here so in the about section of the readme on my gitlab you actually have the thumbnail image that gets displayed here and that's what all of this is and if i wanted to actually look at this image inside emacs i can because emacs is a graphical program it's a gui program it's not a terminal program that's why you can have variable fonts in inside emacs i can have varying font faces and font sizes you can't do that inside a terminal emulator it's impossible inside a terminal emulator that's why it's impossible to have that inside vim as well but in emacs you know you can have that kind of stuff you can have images if i wanted to view that image i could just click on it right there with the mouse or if i had the cursor on it i could hit enter and it opens the image in a split if i wanted to quit out of that split i just hit q on the keyboard and no big deal there if i wanted to follow one of these urls like if i wanted to go to my gitlab i just hit enter right now and it'll open that inside the web browser inside emacs which is a program called eww the emacs web browser and if i wanted to you know i could actually view my git lab here it doesn't look quite right there doesn't look like it really loads that page well inside eww and of course i've got all the source code blocks being outputted to xmonet.hs but i don't have to do that i mean i could have them output to anything really so let me unfold this again and i'm just going to go to a spot here and let's just play around with this config i'll undo everything later because it is my proper xml add config i don't want to mess it up too much but let's create a new headline here i'm just going to say test and let's do some source code blocks so how you do a source code block in org is you do a less than sign s for source code block and then tab and it completes that for you you see begin source and then the source code block of course needs to know what kind of language it needs to interpret in the source code block so you know haskell of course for my exmonet config or i could do a bash or sh for posix compliant shell or python or whatever let's do some emacs dash lisp so let's write some e-lisp code because that's one of the most common things you're going to do with org mode inside emacs especially once you start configuring emacs right you're really going to get into e-lisp so let's do a simple hello world here and this is very easy just do inside parentheses everything is a parenthesis in emacs lists it's a million parentheses but do inside parentheses message and then inside double quotes do hello world i'll even add a comment and an exclamation point and then once we do that if you wanted to evaluate that what you could do is ctrl c ctrl c and you get the results printed right here in the org document how cool is that so we get you know hello world as the result so that's pretty neat i mean if i wanted to change the source code block you know obvious that's cool maybe with the exclamation and then let's evaluate it again with uh ctrl c ctrl c and you see the results just change for us right now i mentioned that you could have tables inside of org mode so let's create a table you create tables with the pipe symbol type is the separator in the table so maybe i want to do that's you know what's a tiling window manager can fix so maybe i want to do key bindings and then a pipe symbol and then let's do key binding and then how about description and then pipe symbol and other than the key bindings and the description maybe i don't know other stuff i'm not really sure what this table is going to be and once i get to the end of this to really make it a table i'm going to do control return and we get another line with more separators now if i wanted to i could go to the beginning of this and get into insert mode start typing more stuff tab more stuff tab more stuff tab and it automatically sizes everything correctly it auto resizes the table no matter what you do inside org mode and it's really fantastic if i wanted to add a border because typically you want some kind of separator between the very top row of the table and the rest of the table and doomy max at least i know i can do something like i think it's space mv dash yeah and that adds a separator as part of the table so really cool stuff there now one of the really cool things you could do with the source code blocks now i'm just having the output written to other files but what you could do is because it does print the results right here in the document itself it makes blogging especially if you do any kind of blog where you're doing programming related stuff as part of a blog where you're showing source code and then the results you know typically you'll write the source code and then you've got to figure out the results on your own and then put that in the blog well you don't have to do any of that if you write everything in org mode you just write your source code blog and it'll print the results right there in org mode and then you can actually export to html actually you can export to a million different things here inside emacs if i do space me for the org mode export tool you see i have the ability to export an org document to a million different formats right now i can export to man i can do pdf i can do i calendar gemini html latex markdown and there's many many other org export extensions i could install if i wanted other thing or if i needed the ability to export to other things what this does is the org export utility it utilizes pandoc pandoc is actually a haskell program that is a document converter it converts documents between various formats so i've gotten in the habit of writing all of my configs in org including my doom emacs config if i do a search for my recent files and let's search for doom config.org so config.org is my doom e-max config there it is all folded and unfolded completely so i got a table of contents here and one of the cool things here let me go back to a normal font size is because again because emacs is a gui program a graphical program you can have varying font sizes everything doesn't have to be the same font size the way you're forced to have everything the exact same font size in a terminal for example maybe you know to make these top level headers really stand out i could make them a different font size so let me show you how i would do that what i would do is you know what i'm just going to add a source code block here and it needs to be emacs lisp and in the source code block i'm just going to paste this here what this does is it sets various org level headings so you have top level headings level one two three four five and they're all set to height 1.0 just the normal font size i'm gonna make the top level headings though 1.2 just to make them slightly different i'm going to do a colon w to write and then i'm going to do space hrr to reload doomy max and we wait a second and here in a second yeah a terminal is going to open in a split that's one of the built-in terminals of emacs it's going to rebuild doom emacs for me right here i didn't have to leave you know emacs to go do this and it says config successfully reloaded and look at the top level headings now inside org mode they are slightly bigger than the rest of the text on the page and that really is useful i mean immediately these headers inside org mode stand out you could do the same thing with markdown you could do the same thing with your latex or your graph especially with things like latex and graph where you know some of the headers really don't jump out at you because there's a lot of weird kind of syntax to those those particular markdown languages you know being able to manipulate the text have different font faces you know italics bold you know you can't really do that in some terminals some terminals allow you to have an italicized font and a bold font some don't no terminal is going to let you run more than one font family though that's just not something that's that's allowed in a terminal but you can do that inside emacs one of the cool things with emacs is that you can always evaluate any piece of emacs lisp code so any e-lisp code like in org mode it's obvious because i write the source code blocks and you know it's evaluating it especially when i reloaded my doom emacs config you can tell it's reading that and we get the results right here in front of us but if i wanted to i'm going to open up a second doom max window and i'm going to do space b capital b for my list of buffers and i'm going to go to the scratch buffer this is just think of it as a scratch pad it's just here for you to write whatever you want to write in and one of the common things people do with the scratch buffer is you write e-lisp code and then evaluate it so if you want to see you know if it's a proper piece of code so if you didn't know that this was going to work for example you just wanted to test it out let's do a message hello world one more time and let's go ahead and turn on big font mode one more time too so you guys can actually see this and what i could do is i could go to the very end of this particular line here and i could evaluate this function here what i could do is i've got a binding space el that will actually evaluate that for me and actually returns hello world right here in the scratch buffer if i hit another key it goes away i wanted to try this with something else i could do inside parentheses plus plus is a function and that function takes two arguments it's going to take an argument of two and another argument of two in this case if i go on the last parenthesis and do space e l one more time i get four now that space el is my custom binding i set to that and that is for um i believe the eval uh s expression eval dash last dash s expression i think by default in emacs that's usually set to control x control e i think that's the default gnu emacs keybinding for that i could be wrong on that though so we've seen e-lisp code evaluated inside org documents you can evaluate it inside a scratch buffer if i really wanted to i could evaluate it inside the e shell which is emax's own shell kind of like bash or zsh except e-shell of course is written in e-lisp and it can evaluate e-lisp so if i wanted to i could do a x right now and uh do e shell and hit enter this launches the e shell and if i wanted to do something i could do plus two and two again i don't need the parentheses at least i don't need it if i was nesting stuff with parentheses i would need those but i don't need the very outside pair of parentheses so plus 2 and 2 returns 4. if i wanted to test if something is equal i could do equal 4 and 4 that should return t t is true so you have t and nil for true and false if i uh do up arrow and equal four against five you see nothing is returned that's nil that's an empty set and that means this is actually false probably the biggest area where vim and emacs differ is that emacs is self-documenting everything you can want for documentation everything from every key binding every variable every function everything has documentation readily available to you at all times inside emacs all you need to do is do meta x for the command prompt and inside that type the word describe and you're going to see several described kind of functions the most common ones that you're going to use are describe variable and describe function they have key bindings by the way space hv and do me max for described variable space hf for described function so let me do space hv for a variable and say it's going to be a million variables in this list that emacs knows about i have a program called council installed in my emacs and it's council let's look up one of the variables associated with the council program i'm going to look up council alias expand i don't know what that is don't know anything about it but we can actually look at the documentation it opens in this bottom split here it'll make that a little bigger and you notice again because emacs is a gui program some of the font sizes are bigger for the headings than actually the descriptions themselves that's really nice it's really easy to read this stuff too just just the font rendering inside emacs is amazing good unicode support too good emoji support if you guys are interested in stuff like that and of course all the links here we can actually click on it and it will follow that link it'll actually counsel.el is the name of the program that that variable is found in when i clicked on it it opens counsel dot el the program here inside the top split that used to be my doom config now it's council dot eo so i can read the source code for that i can edit the source code for that and then i can space hr again to reload do me max i can see my changes take effect and that's really when you start realizing how infinitely hackable how infinitely customizable emacs is now one of the most common questions people ask us about all the key bindings inside emacs how can you learn those you know or do me max in my case you know i i tell people do me max is great and then they go install it and they don't know any of the bindings it's like where do i find all the key bindings remember emacs is self documenting if i did meta x and i did describe and i think it's bindings yeah describe dash bindings uh doomy max has it actually with a uh a keybinding already space hbb let's use that space hbb for described bindings and it will list every key binding that is available for you right it lists every single key binding i don't think people know that's there because again and that's one of the most common questions i hear from you guys is uh i don't know the bindings where do i get the bindings but you don't even have to use describe bindings to list your bindings what i what's really weird when i see people trying out emacs for the first time not good new emacs but things like doomy max and spacemax every version of emacs every customized version of emacs almost everybody has which key installed which key is a package that tells you the key bindings so if you're wondering what key bindings are available inside doom emacs i'm going to do space because most key bindings inside do emacs involve the space key so if i do space which key pops up and it lists the next possible keys and what they would do if i hit them so if i did space and then i did uh s for search let me do s so right now the key binding has started with space and then s and then it's telling me what the next binding what the next key in the binding possibly could be so maybe space s b for search buffer and then what do i want to search inside the buffer so that's how you get that let me get out of that and we've talked about org mode being a killer feature for emacs maggot is another killer feature maggot is the built-in git client in emacs so let me open up deer ed which is the file manager here inside emacs so let's open up dear ed let's go to i'll go to my home directory maybe i want to go to my get lab repositories i have a folder called get lab dash repos and let me hit enter in that and then i want to go to we'll go to dwm distro tube let's see if i have any unstaged changes in this this is a git repository so if i do space gg that launches maggot here in doomy max and you can see in this git repository all the untracked files that are in that folder and then the unstaged changes so i've made changes to the config the config.h but i haven't actually staged them or committed them yet now if i wanted to actually read the changes the diffs what i could do is do a tab i could see the diffs i can see what i changed i changed some key bindings i could tab again to not read that if i wanted to go ahead and read recent commits i could go down here i could tab on that if i wanted to read one of the commits and i like this one here from a few days ago where i was updating the package build i could actually hit enter on that i could read the commit on that if i wanted to quit out of that queue to quit out of that if i wanted to get rid of the recent commits go back to the header hit tab on that folds it back up now if i wanted to go ahead and stage this config.def.h what i could do is just get on that particular line hit s for stage and now instead of unstaged changes you see i have staged changes now if i didn't want to stage that i made a mistake i could hit u for unstage or s again to stage if there were several things in the unstaged list capital s stages everything in the list capital u unstages everything in the list now all i need to do is actually make a commit i'm going to hit c on the keyboard for commit and then c again one more time for commit and i get this information here i could go ahead and start typing my commit message my commit message is edited the key bindings for dm scripts and then once i'm done with that i'm going to hit escape to get into normal mode what i'm going to do is i'm going to do control c control c control c control c so twice and then that's it and that that was staged it actually exited out of the magnet though but it says get finished now it actually isn't finished because we never pushed it so i actually need to go back so let me go back into here and once again go to my get lab dash repos dwm distro tube repository there and hit enter space gg to get back into maggot and from here we've already staged everything all i need to do is p for push and p one more time to push to the master branch and then hit enter for origin and i've already got ssh keys so i didn't need to enter a username or a password and that's it we just pushed those changes to my git lab honestly once you start using things like org mode and things like maggot you start understanding what you're missing out in in vm because you know there's nothing that compares to maggot you you will never you won't even open a terminal and start using get like the command line version of yet once you start using magic because it's just so easier it's just so so much faster you know everything i did there with the tabbing to view the divs and not view the diffs and everything you'd have to actually do quite a bit of typing to do what i did in just those few seconds inside maggot so in my opinion ultimately i think what all the criticisms from the vim users out there what all their criticisms boil down to essentially is emacs is hard email i think emacs is too hard for me to use now they don't say that they say other things emacs is bloated emacs doesn't follow the unix philosophy emacs is this emacs is that you know because it's embarrassing to say i don't want to give emacs a try because i think it's hard and i think i'm going to fail at it you know that's embarrassing to say to other people but i i really think that's what most of the criticisms actually kind of boil down to is because you know there's a learning curve and it's a very steep learning curve i'm not even going to lie there's a lot to learn with emacs there's so much more to learn with emacs than with vm all right there's a absolutely there's a orgy of documentation of emacs i showed you all the described commands and everything like you could actually go blind reading all that documentation and people people hate too much documentation people hate no documentation too the thing i hate the most is trying to find documentation on something and there's none but also people hate being overwhelmed by documentation for a complicated project and that's what emacs is there's a lot to it so it's complicated and there's more stuff to read about emacs than you'll ever read in your lifetime and i know this ran and this video is going to be a lengthy video i don't know how long i've been recording now so i'll shut up but hopefully i don't know maybe you guys you vim users you're thinking about trying out emacs maybe you'll glean some kind of knowledge from this video maybe maybe i showed you a little bit that maybe you didn't know before now before i go i need to thank a few special people i need to thank the producers of this episode absi gabe mitchell akami alan chuck david dillon gregory eryan paul polytech scott steven sven west and willie these guys they're my highest tiered patrons over on patreon without these guys this episode you just watched it wouldn't have been possible the show is also brought to you by each and every one of these ladies and gentlemen as well these are all my supporters over on patreon because i don't have any corporate sponsors i'm sponsored by you guys the community if you'd like to support my work look for distrotube over on patreon all right guys peace oh i forgot to show tetris and emacs
Info
Channel: DistroTube
Views: 98,271
Rating: undefined out of 5
Keywords: emacs (software), vim (software), gnu emacs, software development, text editor, doom emacs, open source, emacs tutorial, text editor vs ide, gnu linux, free software, gnu emacs manual, vim, emacs, vim versus emacs, vi versus emacs, doom emacs tutorial, how to, emacs beginner guide, emacs beginner tutorial, switch from vim to emacs, emacs org mode, emacs evil mode, emacs basics, emacs lisp, emacs magit, org mode
Id: kRkp-uJTK7s
Channel Id: undefined
Length: 29min 44sec (1784 seconds)
Published: Fri Jun 11 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.