As an experienced vim user, I prefer the integrated terminal (:terminal) over shelling out (:!) for most use-cases for 2 main reasons: 1. doesn't block vim like `:!cmd` does (I know I can start a split tmux pane or new terminal window to run commands, but this leads to #2) 2. it allows me to take advantage of Vim's built-in completion suggestion engine (insert mode ) to complete a word from another (integrated terminal) buffer. So, I would run tests/linters/compilers via file watchers, or any arbitrary command in a split terminal buffer and get all the completion goodness I come to expect from Vim. This gets me to about 80-90% of my needs for an LSP without the downsides of LSPs.
Emacs with vim keybindings is the real way to go. I can have the same keybings to navigate the terminal, my text editor, my PDFs, my notes, and my to do list. They are all in the same window and i can hide them without having to close and reopen a whole bunch of applications.
@@DestopLine Me? Nothing :) However if I wanted to mimic some of the most ludicrous Emacs workflows I've seen, it would require a ton of scripting. Me, I don't even use tmux - I strictly use i3 and put everything in its own terminal :D (I am not a smart man)
There are terminal alternatives for many of the GUI options (not different font sizes or images or doom) but plenty of the other options are covered, if you are jumping on a server remotely, you can do that using emacs built-in tramp so that you can use your configured editor.
I had a professor in college that lost a hand in a logging accident. He's an avid emacs evangelist for the sole reason he can still write code fast one handed.
I'm an Emacs User but I understand the appeal of Vim. There is no question that Elisp is a better language than Vimscript, but with Neovim's switch to Lua, I think that argument is no longer cut and dry. Vim is definitely still snappier than Emacs, but Emacs is still lightning fast compared to today's software. And with Elisp being compiled in version 28.0 of Emacs it's even faster now. And if you run Emacs as a daemon it launches just as fast as Vim. With that being said, I really do think that Emacs is a lot more than just a text editor and using it as such is really underutilizing it. And if all's you need is to edit code it can be a bit overwhelming. But there is a certain magic to that kitchen sink mentality that it has that leads to videos like this ruclips.net/video/FtieBc3KptU/видео.html (Emacs for Writers) which is a Writer talking about their journey to discovering Emacs for their writing process.
> Elisp being compiled in version 28.0 of Emacs it's even faster now. And in 29 it gets even better, especially when it comes to long lines as well as treesitter making the syntax highlighting much snappier in larger files. > And if you run Emacs as a daemon it launches just as fast as Vim From my experience, it's even faster than launching vim, as there is some overhead to loading plugins in vim too. I do think Vim is the better experience out of the box though, as all you really need is a context aware completion engine and syntax highlighting before you're good to go with great completion and amazing navigation, and while Evil is good, it's still missing some stuff to just be a drop in replacement for using Vim but with Elisp. You can get a lot of the same experience working on and navigating stuff in Emacs as in Vim, but it requires some work and knowledge of Emacs anyway.
@@Imaltont many people lazy-load their neovim plugins now using package managers like lazy.nvim these days, so less and less plugins are actually loaded on start.
I don't know anything about Lua, but nothing is better than lisp. As far as startup, yes it's blindly fast on today's hardware, but if you're desperate for small and fast, there's mg ... Micro Gnu Emacs.. good if you want to install one binary and get minimal Emacs on a server
I'm a happy vim user, and got into neovim because of you Prime. What got me into neovim & plugins is watching how fast you could move around doing stuff. I've been using vim for a couple of decades, but stupidly never really got past the basic vim motions, and never did any real customization or plugins. I got into vscode, and installed vim motions, and was happy, but the constant having to grab the mouse for things was getting in the way of my flow state. I realized that I don't need the fancy graphics, windows or other nonsense. When I am deep in "code brain", I'm just thinking in text anyway, so watching you use the plugins and how fast you could do stuff that I could do in vs code but a lot slower got me to try the neovim way, and this is now where I live. So I would say to programmers that when considering another editor, watch an experienced user do their thing in that editor, and if it looks faster/more powerful/more enjoyable than yours, then consider switching. I have no need to switch from neovim now. Maybe something will appear in the future, but I honestly see using vim motions until I die.
Helix is nice because it is very good out of the box (treesitter based commands are amazing) and runs in the command line, so it is very easy to add to a dev container or to run in any environment that you want to to access. The downside of it is that kakoune-style keybinds will mess with your vim muscle memory
@@MyAmazingUsername even if it would be better after getting used to it, I find it really annoying that it is the reverse of vim essentially because I am more likely to be forced to use vim at some point and then it sucks to be in the habit of doing selection -> action instead of action -> selection. I even really dig the philosophy it’s just not worth the struggle when I find myself forced to vim it up again.
I just came off of trying Neovim for a month. I like it but I’ve gone back to VScode simply for the Typescript error translator extension (I’m still learning Typescript) but I am using the VIM mode for VS Code now. I still use Neovim when writing Python or Rust.
Some Helix keybindings are absolutely weird and inefficient, the lack of plugins is a dealbreaker for now, but I kind of dig the whole Selection -> Command thing.
Helix sacrifices speed for better mnemonics and being more internally consistent, e.g. gh and gl instead of 0 and $ - makes more sense, but it's more keypresses
the Bill Burr energy is great lol Never heard of vim or emacs until yesterday (actually I had when having to edit some system file a bit ago and didn't knew how to leave - yes, true story), and realized vim does with one keystroke what I've been using the most effed up keyboard shortcuts only I seem to know computers do (like shift insert or ctrl arrow) with freaking sublime text (because dark mode in notepad++ is a nightmare) And there's a little dip in performance whenever you first adopt anything that'll give you a increase in performance. It's normal and expected. There's a curve.
@@gagagero In my company, there is no choice, you MUST use a underpowered windows 10 machine, because they are afraid that if they are not spying on me every single second I'm working on something I'll leak the US nuclear codes.
Also, going purely by speed, when do we get to see Prime try to learn how to use Plover (open source stenography software) to write code? Yes this is real and yes people do use it to type code at 300wpm. This is only a half-joke. If I were young and less set in my ways, the ergonomics and substantially reduced hand motion adds so much physical longevity over typing with a keyboard that that I'd invest the time to learn it. Having at least double the typing speed for the rest of my life would be a nice side benefit.
AFAIK stenography relies on dictionaries and the operator learning what each key combination resolves to. It's probably effective and manageable for advanced English vocabulary, but I don't see the benefits in programming context with gazillion different API's with different agglutinations of compound words to describe procedures, data types etc.. I would guess that word completion and context-sensitive semantic analysis as we have it now trump whatever enhancements to text input speed you might get with stenography.
Why did you switch from Doom Emacs back to Vim? I just started using it about a week ago and I’m really liking Magit and org mode. What’s better about Neovim that made you switch back? For me, Vim was all about its keybindings and Doom Emacs has that so I don’t know what I’m missing.
also a question @ThePrimeTime, for someone learning the web do you recommend learning things as if it's in the 00's and like trying to figure out each layer from application to network and what's happening under the hood
Learning the basics of the OSI model and the TCP/IP model is invaluable knowledge. However, for web developers, all knowledge below the application layer (in tcp/ip model) or below the session layer (in osi model) is somewhat useless. The details of the physical/link layer, the network layer, and the transport layer are much more important for network engineers and IT operations professionals to master. This is one of the beautiful things about modern computer networking -- its modularity and abstraction (TCP needs no knowledge of Http to work). That said, the more you learn about web technologies the more you will understand about networking as a whole, by virtue of proximal technologies, so dont worry about the networking stuff too much, you will pick it up as you learn.
What are you optimizing for? LISP is superior in syntax. Why else did Vim need an entire re-write? Vim prevails because of simple-minded reasons: it's a common default editor, the mistaken belief that h, j, k, l were designed for ergonomics, the idea that users should conform to an editor rather than configure it to the user's needs, etc. Just use -q to make a quick one-off edit, use a vim-mode if you want or god-mode. Emacs is more capable and that isn't a bad thing. Magit and org-mode should be reason enough.
I honestly just use vim cause I have more fun coding with it and can take the hand off the keyboard less often. I don't think it increases my productivity that much
I can literally run two different instances of neovim with two different terminal emulators inside my emacs. I can even run emacs inside emacs and in that emacs change my config values so I can lanch an instance of TUI-emacs. Why would anyone want something simple and elegant instead of spending their days configuring emacs?
6:43 The emacs pinky meme hurts me on a ideological level. You're in a highly configurable editor and for YEARS somehow people didn't think to change their key binds to exclude key chords or rebind their keys so that ctrl was something more ergonomic like caps lock(who uses caps lock anyway?).
how ide users debug their code: breakpoints, debug window, variable window, step over/into/out, pause/resume/restart how vim users debug their code: grep
If you move desks, ESPECIALLY if you move sites day by day, and ESPECIALLY ESPECIALLY if you need to visit sites that do not let you put any of your media near their machines or pull your files across the internet, then you can't have your emacs config with you. When you are called in to a site and you have half a day to get a job done ... are you going to use a vanilla emacs where all your muscle memory for your personalized emacs setup is not with you? Nope. So it's vi. Now, if you are stuck in a corner on the same physical keyboard, with the same $HOME, and you are going to stay there forever, then fiiiiiiiiiiine, go emacs to your hearts content - have some alt-control-meta-bucky-f5-shift-C macro that microwaves your pizza and walks your dog.
I don't get how you could customise Emacs so heavily that your muscle memory is useless with plain Emacs. Also, even in a locked environment you can usually email yourself a configuration file
It's not just emacs users who customize their config file 10 times a day, that ritual is also performed by vim users. It starts with "who needs an IDE? I'll just use Vim", followed by "I'll just add a plugin to do X, Y, Z", followed by "my config file is 20k lines long", and in the end you have ... an IDE, but worse, because the plugins don't match the quality of a professional IDE. But at least you can hjkl or something.
Vim is just a "graphical" layer on top of ed(1). You should go for that. Emacs used the modern use way to use the Ctrl key and ESC key. While vi(1) (and vim etc) are just change between states that you have to remember. You should look at willy(1). That is actually expanding with whatever language you want to code in.
Once upon a time, I was big into the whole Vim supremacy thing (having tried both it and Emacs). But then I installed Plan 9, learned structural regular expressions and mouse chording, and fell in love with Acme. Sadly, none of those discoveries and innovations made it into any modern-day editor. Vis is a terminal-based clone of Sam, but it doesn't have LSP support and all the rest of the things you'd need. VS Code, customizable though it may be, doesn't have hooks to support this stuff either. But I can speak from experience and say that a mouse can speed things up *if* the mouse commands are designed as thoroughly and thoughtfully as the Vim motions. Someone someday will probably rediscover Acme and make a cool modern thing inspired by it. Until then, I mostly use whatever the most popular set of tools are for the ecosystem I'm working in. But I'm holding out hope that Kakuone or Helix will get to the point where it'll be worth changing my muscle memory away from Vim bindings.
The old vi v emacs wars .... I was there Gandalf ... when we'd say emacs was a self-referential acronym for "emacs makes all computers slow" because it was "eight megabytes and constantly swapping". (back when 16 megabytes ram was a machine a small dev team would drool over). I felt perfectly ok slagging off emacs as I was an emacs user before meeting vi. There were actually commercial systems that came with emacs as the only editor (apart from line editors). Now, let's see how you folk go trying to use ed (or even ex, even ex with a decent .exinit file) for a couple of hours. If you know vi, you know ex ... kinda.
At my first job sometimes the boss would drop in and do some hacking on my terminal to help out or prove something, and he'd always use ed. That was quite the experience.
Other than vim/neovim keybindings, I am yet to get past the initial hurdle of mastering package management, and buffer switching in neovim. I just don't quite understand the configuration file structure there like I do in emacs. I find package management so much easier in emacs. For little edits I always fire up vim but for anything requiring multiple file edits, I always end up using my trusty emacsclient.
Ok, you piqued my curiosity: what is Helix? I just googled it, and while I might not try it any time soon, I am at least amused that it's related to Vim.
The 'other side’s inconveniences/difficulties/bad design' cited by the opposing factions in these 'wars' are as convincing as those black&white 'before' segments in infomercials. Learn the proper *idiomatic* usage patterns for your editor, and you'll discover why those patterns have persisted ~40 years in their respective families. There's always room for improvement, of course; but no one's going to find a GOTCHA! moment that will settle once and for all, that one editor's design is inferior to the other's. (& it's all the more ridiculous when beginners claim to find those 'gotcha's.)
Can someone explain the sentiment at 14:00? He basically says that NetBeans and intelliJ stifled his learning because he would just press the debug or run and not know how things works, but the video is about vim and emacs, so how would these editors make someone understand "how stuff works"?"
I cannot edit source code without vim like bindings or plugins anymore. In the nineties Emacs at my university was known as Eating Megabytes And Constantly Swapping 🤣
@@gagagero I didn’t say it was cause of the GUI. I am comparing RubyMine to EMacs, so both are GUI apps but eMacs loads new projects much faster. Not saying there’s no reason for that, RubyMine definitely offers more features, but I find that what eMacs with LSP can do is more than enough for me and I don’t have to pay the extra loading time cost, so I can actually feel comfortable to close out of my project every now and again instead of dreading loading it up again lol
Always funny that people think emacs doesn't fit the unix philosophy when it does perfectly. it's simply an elisp interpreter, all the "editor" and "Operating System" that has cropped up around it are merely incidental.
It more fits the lisp machine philosophy, which is actually a better philosophy. The Unix philosophy of connecting everything with pipes and text files actually kinda sucks when you think about it.
I learned rust and neovim by working through the zero2prod book. I typed out every code snippet and by the fifth chapter I was moving in neovim faster than vscode. zero2prod was particularly good for exercising vim motions because throughout the book you revisit the same code snippets several times as you enhance and optimise the code base.
good take, people with hyperactivity feel great using vim speed, but they make so many mistakes do to the speed that they waste more time fixing all the mistakes because of it.
@@jorios550 I know that exists, then there's also Doom Emacs, and right now I'm trying something called meow, which is vim-like but not quite. I have 3 problems right now: the defaults are inferior to vim; some of the extensions seem to "leak" default bindings; the amount of choices and configuration is overwhelming 😅. To some degree, I'm even a proponent of keeping some of the defaults, as they prob fit better to the emacs environment. Emacs seems cool, I don't want to diss it, but making the transition is not trivial
You can either try viper-mode, which is a Vi (not Vim!) emulation layer that also forces you to learn the Emacs keybindings with time, or god-mode that keeps all the default keybindings but modalifies them.
So I just started using vim like 2 weeks ago. One, I haven't felt like I was stumbling around since like day 3 or so, and two, WHERE HAS THAT CREAT SHEET AT 4:43 BEEN ALL THIS TIME I COULD'VE REALLY USED THAT SHIT.
If working with a company I rather use vim , if for my own projects either one is fine with me. I like terminal based tools and if I wanted to do other things then emacs would be put into consideration.
I live in Vim, I have Doom Emacs (with native compilation) installed. I just like the speed of vim. Sometimes I jump into emacs to work on things. Some plugins are fun.
This video is right on time for me. I have been using doom emacs for 2 years now and it was great up until I ran into problems with the LSP integration. It just wouldn't work and make emacs hang all the time. I finally decided to try neovim and it works great. Still have some issues with the LSP in neovim as well but its fast enough to reload it so not much of a hassell. But I do miss some emacs features like org-mode and magit.
I've been using Emacs for almost as long as I've been a programmer, but in the past year I've made a concerted effort to learn modal editing with Vim and I now understand the reason for the Vim evangelism expressed here and elsewhere. While I still prefer Emacs overall (I cannot give up on Org mode, Info mode, and my beloved Elisp) I am now using Evil as my daily driver and really do feel like I have the best of both worlds. Also, with respect to terminal emulators in the editor environment -- Emacs terminal emulation using `vterm` is decent bit but I still prefer using tmux with Emacs-nox for more complicated, terminal centric dev work flows. I do have a soft-spot for eshell, though :)
you can't advocate for a super-keyboard while complaining about emacs finger mashing. i don't have a super-keyboard, but i do pick my keyboards where i can hit the control key with the palm of my hands. pretty much erases the emacs finger strain.
I use nvim because i have a few tty laptops and i don't want to have gui on them. Emacs is great but i can't be bothered to configure it and if i need to make changes and something goes wrong it pretty much crashes back to defaults, that suck unless i wrap everything with error catching.
This war has been solved forever, Emacs+Evil is the way and the truth. I will say that Vim has a better term emulator for some reason, but using a whole buffer inside your editor for a term is kinda annoying anyway so who cares.
Using "a whole buffer" is not a problem, but I bet you meant a window. Even then, instead of splitting a window you could spawn a new frame for the terminal, in which case you can task switch it in your WM/desktop and still enjoy the benefits of having it inside Emacs where it's accessible as just another text buffer manipulatable with Emacs Lisp.
Emacs is OS independent, you can carry your Dev-Enviorment with you everywhere. I’m talking everything, terminal, tiling, pdf reader...etc (future proof in case you ended up working on Windows). This is all theory, in reality, it doesn’t work (we need more maintainers).
A little known fact... James Gosling is the author of Emacs. Richard Stallman basically yoinked his code and re-licensed it to GPL (though old copyright was lingering in some files at first), and then started actually working with it. I believe that at this point there is none of the original code there, but calling Richard Stallman the author of GNU Emacs even, seems like a bit of stretch to me, as GNU Emacs was only possible to start existing, because Gosling had let this one slide, as this was basically stealing his code and breaking the terms of original license, and he just didn't want to deal with it and wasn't working on Emacs anymore.
ok so according to Wikipedia Gosling Emacs was in 1981 and the original Emacs was in '76 so... if you have any links that say contrary I'd like to see them
@@ea_naseer GNU emacs is '84. There were many implementations of emacs by different companies/people. If you want more context from the Gosling himself: youtube video TJ6XHroNewc TimeCode: 2:52:30
@@ea_naseer Ok, it might have not been quite specific. The fact is thatGNU Emacs at the very beginning was Gosling Emacs with GNU slapped on it. I've seen an interview with James Gosling talking about it, will try to find it.
@@ea_naseer here's the timestamp where he starts talking about his version of Emacs and how GNU Emacs came to be. ruclips.net/video/TJ6XHroNewc/видео.html And here's specifically the fragment about Stallman taking all the code: ruclips.net/video/TJ6XHroNewc/видео.html
Pretty sure that is completely wrong. Stallman was pissed off at the restrictive Emacs licence and started from scratch on a mad multi month hacking binge fueled by late nights, coke and pizza.
For people saying emacs is a good os only missing a good text editor . Never have they used emacs . You configure for editor to suit ur need not the other way around
the gandalf image is real, it was taken off scene when Ian was just checking his computer while still in his costume
i love this
Yep, I had to check my mails real quick...
I was thinking no way that macbook was out when they made LOTR, but then I remembered Gandalf was in the Hobbit movies too...
@@Endelin dude that was dumbledore
@@joshuatye1027 You're right. I'm the Dumblemore.
I use VimMacs... to quit I type: SHIFT+ZQ+C-x C-c... which is the opposite of BLAZINGLY FAST! ♥
One does not exit Emacs until there is a power failure
@@xpusostomos😂
As an experienced vim user, I prefer the integrated terminal (:terminal) over shelling out (:!) for most use-cases for 2 main reasons:
1. doesn't block vim like `:!cmd` does (I know I can start a split tmux pane or new terminal window to run commands, but this leads to #2)
2. it allows me to take advantage of Vim's built-in completion suggestion engine (insert mode ) to complete a word from another (integrated terminal) buffer.
So, I would run tests/linters/compilers via file watchers, or any arbitrary command in a split terminal buffer and get all the completion goodness I come to expect from Vim. This gets me to about 80-90% of my needs for an LSP without the downsides of LSPs.
i just use a separate terminal window
@@callyralyeah this is definitely the way.
the vim integrated terminal itsn't a very good terminal though
Emacs with vim keybindings is the real way to go. I can have the same keybings to navigate the terminal, my text editor, my PDFs, my notes, and my to do list. They are all in the same window and i can hide them without having to close and reopen a whole bunch of applications.
How would you not get that with Emacs bindings?
That sounds like a tiling window manager with extra steps
@@DestopLine but elisp is so much nicer than bash scripting everything
@@CaptTerrific What are you bash scripting with a tiling window manager?
@@DestopLine Me? Nothing :) However if I wanted to mimic some of the most ludicrous Emacs workflows I've seen, it would require a ton of scripting. Me, I don't even use tmux - I strictly use i3 and put everything in its own terminal :D (I am not a smart man)
There are terminal alternatives for many of the GUI options (not different font sizes or images or doom) but plenty of the other options are covered, if you are jumping on a server remotely, you can do that using emacs built-in tramp so that you can use your configured editor.
I had a professor in college that lost a hand in a logging accident. He's an avid emacs evangelist for the sole reason he can still write code fast one handed.
The idea of writing code one handed gives me a huge amount of anxiety
Another log4j victim rip.
I've also heard glowing reviews about Emacspeak being the only good way to use Linux when blind.
@@wkingston1248😂😂😂😂
How the fuck does he perform emacs operations with just one hand
I cant imagine the emacs pinky (+ index finger, thumb, ring finger, middle finger)
I'm an Emacs User but I understand the appeal of Vim. There is no question that Elisp is a better language than Vimscript, but with Neovim's switch to Lua, I think that argument is no longer cut and dry. Vim is definitely still snappier than Emacs, but Emacs is still lightning fast compared to today's software. And with Elisp being compiled in version 28.0 of Emacs it's even faster now. And if you run Emacs as a daemon it launches just as fast as Vim. With that being said, I really do think that Emacs is a lot more than just a text editor and using it as such is really underutilizing it. And if all's you need is to edit code it can be a bit overwhelming. But there is a certain magic to that kitchen sink mentality that it has that leads to videos like this ruclips.net/video/FtieBc3KptU/видео.html (Emacs for Writers) which is a Writer talking about their journey to discovering Emacs for their writing process.
> Elisp being compiled in version 28.0 of Emacs it's even faster now.
And in 29 it gets even better, especially when it comes to long lines as well as treesitter making the syntax highlighting much snappier in larger files.
> And if you run Emacs as a daemon it launches just as fast as Vim
From my experience, it's even faster than launching vim, as there is some overhead to loading plugins in vim too.
I do think Vim is the better experience out of the box though, as all you really need is a context aware completion engine and syntax highlighting before you're good to go with great completion and amazing navigation, and while Evil is good, it's still missing some stuff to just be a drop in replacement for using Vim but with Elisp. You can get a lot of the same experience working on and navigating stuff in Emacs as in Vim, but it requires some work and knowledge of Emacs anyway.
@@Imaltont many people lazy-load their neovim plugins now using package managers like lazy.nvim these days, so less and less plugins are actually loaded on start.
@@tkg__awesome, so vim users are finally getting the feature that was always there in emacs (autoloads), but only now, and only as plugins?
@@tkg__ adding to this point, you can now connect to neovim remotely! just have a session on at startup and wam bam waduwapam you got in instantly
I don't know anything about Lua, but nothing is better than lisp. As far as startup, yes it's blindly fast on today's hardware, but if you're desperate for small and fast, there's mg ... Micro Gnu Emacs.. good if you want to install one binary and get minimal Emacs on a server
I'm a happy vim user, and got into neovim because of you Prime. What got me into neovim & plugins is watching how fast you could move around doing stuff. I've been using vim for a couple of decades, but stupidly never really got past the basic vim motions, and never did any real customization or plugins. I got into vscode, and installed vim motions, and was happy, but the constant having to grab the mouse for things was getting in the way of my flow state.
I realized that I don't need the fancy graphics, windows or other nonsense. When I am deep in "code brain", I'm just thinking in text anyway, so watching you use the plugins and how fast you could do stuff that I could do in vs code but a lot slower got me to try the neovim way, and this is now where I live.
So I would say to programmers that when considering another editor, watch an experienced user do their thing in that editor, and if it looks faster/more powerful/more enjoyable than yours, then consider switching.
I have no need to switch from neovim now. Maybe something will appear in the future, but I honestly see using vim motions until I die.
So you never saw Tsoding tinkering around in Emacs, I guess.
Helix is nice because it is very good out of the box (treesitter based commands are amazing) and runs in the command line, so it is very easy to add to a dev container or to run in any environment that you want to to access.
The downside of it is that kakoune-style keybinds will mess with your vim muscle memory
I would not be surprised if kaklune keybinds are much better than Vim.
they are not better than vim binds
there are a bunch of things that are equal, few that are more efficient, more than few that are less efficient
I started in helix and moved to neovim it was simply too clunky to me moment to moment
@@MyAmazingUsername even if it would be better after getting used to it, I find it really annoying that it is the reverse of vim essentially because I am more likely to be forced to use vim at some point and then it sucks to be in the habit of doing selection -> action instead of action -> selection. I even really dig the philosophy it’s just not worth the struggle when I find myself forced to vim it up again.
@@MyAmazingUsername they are objectively better just because of the much better consistency. for example gg and ge vs gg and G
you can embed opengl output in emacs, that is how you get Doom running in it.
I just came off of trying Neovim for a month. I like it but I’ve gone back to VScode simply for the Typescript error translator extension (I’m still learning Typescript) but I am using the VIM mode for VS Code now. I still use Neovim when writing Python or Rust.
very cool. i don't know this typecript error translator biz. sounds neet though
I did the same. Tried Nvim and doom emacs. switched back to vscode with vim emulation. Might stick to Doom Emacs, i love find-file.
@@ThePrimeTimeagen theo did a video on it
@@kenneth_romero I'm pretty sure find-file is just a small dired buffer.
Gandalf was just shitposting on 4chan in that image, a true wizard
When you were searching for the meme I kept thinking about "Silly Hats Only" but I'm glad you found the right one
Some Helix keybindings are absolutely weird and inefficient, the lack of plugins is a dealbreaker for now, but I kind of dig the whole Selection -> Command thing.
Can you elaborate which keybinds you're referring to?
Helix sacrifices speed for better mnemonics and being more internally consistent, e.g. gh and gl instead of 0 and $ - makes more sense, but it's more keypresses
the Bill Burr energy is great lol
Never heard of vim or emacs until yesterday (actually I had when having to edit some system file a bit ago and didn't knew how to leave - yes, true story), and realized vim does with one keystroke what I've been using the most effed up keyboard shortcuts only I seem to know computers do (like shift insert or ctrl arrow) with freaking sublime text (because dark mode in notepad++ is a nightmare)
And there's a little dip in performance whenever you first adopt anything that'll give you a increase in performance. It's normal and expected. There's a curve.
I built muscle memory for Emacs keybindings, and love that a bunch of them work in Bash too. I rage quit vimtutor once however.
To be fair... You can change bash to vi mode
I use Witchemacs because it has nice defaults, no layers and Marisa from Touhou in the splash screen.
then there's me using and liking both. It does take a few minutes for the muscle memory to kick-in when switching
Emacs 4 life
If I need a lightweight, portable editing experience, I use ed 🗿
?
@@yjlom Ed is the standard text editor.
@@gagagero missed the joke possibly?
For light weight try mg ... Micro Gnu emacs
The ultimate editor: cat + sed + semantic parsing programs + U*NIX pipelines
That or you could just use TempleOS' text editor
Have you ever seen TECO?
@@januszlepionko And then there's VW (1976 Vitulli, N.) Which is just...WOW!
Emacs users rise up!
Emacs is LIFE!!
Living in Emacs is the way of life!
I love Emacs, but it absolutely SUCKS in Window$, nvim behaves miles better in Window$.
Yeah, even a "naked" Emacs takes like 3 seconds to start up in Windows while it's instant on Linux... But also, use Linux.
@@gagagero In my company, there is no choice, you MUST use a underpowered windows 10 machine, because they are afraid that if they are not spying on me every single second I'm working on something I'll leak the US nuclear codes.
Huh, windows Emacs is perfectly fine, what's wrong with it?
@@gagageroemacs --daemon
I used emacs all the time in my Linux laptop during college. But after college moving to windows desktop environ,ent I just couldn't use emacs there.
Also, going purely by speed, when do we get to see Prime try to learn how to use Plover (open source stenography software) to write code? Yes this is real and yes people do use it to type code at 300wpm.
This is only a half-joke. If I were young and less set in my ways, the ergonomics and substantially reduced hand motion adds so much physical longevity over typing with a keyboard that that I'd invest the time to learn it. Having at least double the typing speed for the rest of my life would be a nice side benefit.
AFAIK stenography relies on dictionaries and the operator learning what each key combination resolves to. It's probably effective and manageable for advanced English vocabulary, but I don't see the benefits in programming context with gazillion different API's with different agglutinations of compound words to describe procedures, data types etc.. I would guess that word completion and context-sensitive semantic analysis as we have it now trump whatever enhancements to text input speed you might get with stenography.
One don't "" from 'i' mode one "jj"s from it.
Why did you switch from Doom Emacs back to Vim? I just started using it about a week ago and I’m really liking Magit and org mode.
What’s better about Neovim that made you switch back? For me, Vim was all about its keybindings and Doom Emacs has that so I don’t know what I’m missing.
also a question @ThePrimeTime, for someone learning the web do you recommend learning things as if it's in the 00's and like trying to figure out each layer from application to network and what's happening under the hood
Learning the basics of the OSI model and the TCP/IP model is invaluable knowledge. However, for web developers, all knowledge below the application layer (in tcp/ip model) or below the session layer (in osi model) is somewhat useless. The details of the physical/link layer, the network layer, and the transport layer are much more important for network engineers and IT operations professionals to master. This is one of the beautiful things about modern computer networking -- its modularity and abstraction (TCP needs no knowledge of Http to work). That said, the more you learn about web technologies the more you will understand about networking as a whole, by virtue of proximal technologies, so dont worry about the networking stuff too much, you will pick it up as you learn.
That Nautro meme makes me really wanna pick up VIM again
What are you optimizing for?
LISP is superior in syntax. Why else did Vim need an entire re-write? Vim prevails because of simple-minded reasons: it's a common default editor, the mistaken belief that h, j, k, l were designed for ergonomics, the idea that users should conform to an editor rather than configure it to the user's needs, etc.
Just use -q to make a quick one-off edit, use a vim-mode if you want or god-mode. Emacs is more capable and that isn't a bad thing.
Magit and org-mode should be reason enough.
Paragraph jump is one ‘{‘, not two.
It actually jumps to the next blank line.
I honestly just use vim cause I have more fun coding with it and can take the hand off the keyboard less often. I don't think it increases my productivity that much
It's called Doom Emacs because you're Doomed to keep getting the wrong answers when asking for help with your hipster variant.
I can literally run two different instances of neovim with two different terminal emulators inside my emacs. I can even run emacs inside emacs and in that emacs change my config values so I can lanch an instance of TUI-emacs.
Why would anyone want something simple and elegant instead of spending their days configuring emacs?
6:43 The emacs pinky meme hurts me on a ideological level. You're in a highly configurable editor and for YEARS somehow people didn't think to change their key binds to exclude key chords or rebind their keys so that ctrl was something more ergonomic like caps lock(who uses caps lock anyway?).
Maybe it's just the keyboard on my laptop, or maybe it's how I type, but I don't get any finger strain from using Ctrl and Alt all the time.
how ide users debug their code: breakpoints, debug window, variable window, step over/into/out, pause/resume/restart
how vim users debug their code: grep
If you move desks, ESPECIALLY if you move sites day by day, and ESPECIALLY ESPECIALLY if you need to visit sites that do not let you put any of your media near their machines or pull your files across the internet, then you can't have your emacs config with you. When you are called in to a site and you have half a day to get a job done ... are you going to use a vanilla emacs where all your muscle memory for your personalized emacs setup is not with you? Nope. So it's vi.
Now, if you are stuck in a corner on the same physical keyboard, with the same $HOME, and you are going to stay there forever, then fiiiiiiiiiiine, go emacs to your hearts content - have some alt-control-meta-bucky-f5-shift-C macro that microwaves your pizza and walks your dog.
I don't get how you could customise Emacs so heavily that your muscle memory is useless with plain Emacs. Also, even in a locked environment you can usually email yourself a configuration file
evilmode in spacemacs/doomemacs - war is over
I have seen 1 emacs user in my life. He was presenting at a Rust talk. He recompiled the Linux kernel on stage too. This is not a joke.
It's not just emacs users who customize their config file 10 times a day, that ritual is also performed by vim users. It starts with "who needs an IDE? I'll just use Vim", followed by "I'll just add a plugin to do X, Y, Z", followed by "my config file is 20k lines long", and in the end you have ... an IDE, but worse, because the plugins don't match the quality of a professional IDE. But at least you can hjkl or something.
And who is responsible for adding that crappy plugins? 🙂
@@GreyDeathVaccine the person who said they don't need an IDE and then proceeded to build a crappy IDE out of vim.
Who need vim I will install vim emulation on ide. But you end up with an Vim but worse. But at least you have an IDE
Vim is just a "graphical" layer on top of ed(1). You should go for that. Emacs used the modern use way to use the Ctrl key and ESC key. While vi(1) (and vim etc) are just change between states that you have to remember.
You should look at willy(1). That is actually expanding with whatever language you want to code in.
Richard Stallman actually uses Emacs in the TTY, and he only opens a graphical environment when he wants to use something graphical-only.
That's pretty nuts, even for Stallman
@@xpusostomos I was surprised too lol
I like Emacs in the tty actually.
I switched to vim motions about 5 days ago and it's so damn fun. Even now it just feels faster. thanks prime!
The only issue is that now that I know speed reaching for the mouse fills me with anguish.
@@ghosthunter0950 i feel this whenever i have to use a gui file system from time to time for certain stuff
I just realized that vim was that damn text editor that I had to turn the computer off to exit when I first tried to run linux.
Once upon a time, I was big into the whole Vim supremacy thing (having tried both it and Emacs). But then I installed Plan 9, learned structural regular expressions and mouse chording, and fell in love with Acme. Sadly, none of those discoveries and innovations made it into any modern-day editor. Vis is a terminal-based clone of Sam, but it doesn't have LSP support and all the rest of the things you'd need. VS Code, customizable though it may be, doesn't have hooks to support this stuff either. But I can speak from experience and say that a mouse can speed things up *if* the mouse commands are designed as thoroughly and thoughtfully as the Vim motions.
Someone someday will probably rediscover Acme and make a cool modern thing inspired by it. Until then, I mostly use whatever the most popular set of tools are for the ecosystem I'm working in. But I'm holding out hope that Kakuone or Helix will get to the point where it'll be worth changing my muscle memory away from Vim bindings.
Emacs has hyperbole so yeah acme stuff is totally a thing in emacs.
The old vi v emacs wars .... I was there Gandalf ... when we'd say emacs was a self-referential acronym for "emacs makes all computers slow" because it was "eight megabytes and constantly swapping". (back when 16 megabytes ram was a machine a small dev team would drool over). I felt perfectly ok slagging off emacs as I was an emacs user before meeting vi. There were actually commercial systems that came with emacs as the only editor (apart from line editors).
Now, let's see how you folk go trying to use ed (or even ex, even ex with a decent .exinit file) for a couple of hours. If you know vi, you know ex ... kinda.
At my first job sometimes the boss would drop in and do some hacking on my terminal to help out or prove something, and he'd always use ed. That was quite the experience.
The joke should be: Emacs is like a complete operating system but... it's just missing a kernel... Sorry Richard :(
Other than vim/neovim keybindings, I am yet to get past the initial hurdle of mastering package management, and buffer switching in neovim. I just don't quite understand the configuration file structure there like I do in emacs. I find package management so much easier in emacs. For little edits I always fire up vim but for anything requiring multiple file edits, I always end up using my trusty emacsclient.
11:44 screw you, I like Helix.
Deez...
@@ThePrimeTimeagen Your point was that one should try all of them, and I did! And I like Helix.
Uh… deez nuts!
Ok, you piqued my curiosity: what is Helix? I just googled it, and while I might not try it any time soon, I am at least amused that it's related to Vim.
An editor for rust fanatics
Indeed it's love a flame war. Just use emacs.
And micro enters the chat
The 'other side’s inconveniences/difficulties/bad design' cited by the opposing factions in these 'wars' are as convincing as those black&white 'before' segments in infomercials.
Learn the proper *idiomatic* usage patterns for your editor, and you'll discover why those patterns have persisted ~40 years in their respective families. There's always room for improvement, of course; but no one's going to find a GOTCHA! moment that will settle once and for all, that one editor's design is inferior to the other's.
(& it's all the more ridiculous when beginners claim to find those 'gotcha's.)
Eliza ! Gotcha!
@@xpusostomos Touché... vim's built-in psychotherapist is better in every conceivable way.
Church of Emacs or Cult of Vim
Can someone explain the sentiment at 14:00? He basically says that NetBeans and intelliJ stifled his learning because he would just press the debug or run and not know how things works, but the video is about vim and emacs, so how would these editors make someone understand "how stuff works"?"
He also says he wishes he could've been faster at learning how things work, how can one accelerate their learning of "how things work"?
I cannot edit source code without vim like bindings or plugins anymore.
In the nineties Emacs at my university was known as Eating Megabytes And Constantly Swapping 🤣
In the days when megabytes mattered. Now they don't.
Just a question out of curiosity. Why not to use terminal emulators inside ide?
If I had to guess, it's "something something Unix philosophy something something".
It’s not about fast terminal access, it’s because the IDE is slow. I don’t want to wait sometimes literally 1min+ for my project to load
@@0oShwavyo0 A GUI really doesn't slow anything down.
@@gagagero I didn’t say it was cause of the GUI. I am comparing RubyMine to EMacs, so both are GUI apps but eMacs loads new projects much faster. Not saying there’s no reason for that, RubyMine definitely offers more features, but I find that what eMacs with LSP can do is more than enough for me and I don’t have to pay the extra loading time cost, so I can actually feel comfortable to close out of my project every now and again instead of dreading loading it up again lol
The ide is aiming to help you avoid the terminal
Always funny that people think emacs doesn't fit the unix philosophy when it does perfectly. it's simply an elisp interpreter, all the "editor" and "Operating System" that has cropped up around it are merely incidental.
It more fits the lisp machine philosophy, which is actually a better philosophy. The Unix philosophy of connecting everything with pipes and text files actually kinda sucks when you think about it.
3:45 devaslife...? who is it
The age old battle is VI (pronounced vee eye) vs Emacs. If you have to resort to vim or neovim in the battle you've already lost.
That kakashi meme is too funny. Prime is too old yo get it.
In terms of productivity and editing speed, which is faster, Vim or Emacs?
I learned rust and neovim by working through the zero2prod book. I typed out every code snippet and by the fifth chapter I was moving in neovim faster than vscode.
zero2prod was particularly good for exercising vim motions because throughout the book you revisit the same code snippets several times as you enhance and optimise the code base.
4:13 "redrawtime exceeded, syntax highlighting disabled"
good take, people with hyperactivity feel great using vim speed, but they make so many mistakes do to the speed that they waste more time fixing all the mistakes because of it.
I've been trying to get into emacs but the keybindings are insane
You can use "evil" keybindings, and have all your vi/vim keys
@@jorios550 I know that exists, then there's also Doom Emacs, and right now I'm trying something called meow, which is vim-like but not quite. I have 3 problems right now: the defaults are inferior to vim; some of the extensions seem to "leak" default bindings; the amount of choices and configuration is overwhelming 😅. To some degree, I'm even a proponent of keeping some of the defaults, as they prob fit better to the emacs environment. Emacs seems cool, I don't want to diss it, but making the transition is not trivial
You can either try viper-mode, which is a Vi (not Vim!) emulation layer that also forces you to learn the Emacs keybindings with time, or god-mode that keeps all the default keybindings but modalifies them.
Insane how, Padawan?
Me: "Should I try this [Neo]Vim editor?"
Searches RUclips and finds a video called "Tutorial on how to exit Vim"
Me: "Nah ..."
1:10 The person who comment J-ASS, lmao.
Why would I take months to try vim and emacs, in 2 years i'm just going to think code into existence
You tried the Emacs brain interface extension?
Richard stallman wrote two operating systems
it is real when gandalf read the hp script. because director didnt print it.
So I just started using vim like 2 weeks ago. One, I haven't felt like I was stumbling around since like day 3 or so, and two, WHERE HAS THAT CREAT SHEET AT 4:43 BEEN ALL THIS TIME I COULD'VE REALLY USED THAT SHIT.
I have edited borked configs on half dead systems with just cat and sed.
Because the alternative would have been vi(m).
I learned python using terminal emacs while ssh’d into a university computer, in 2018…
Epic battle, greater than Avengers vs Thanos
Any editor that does not require a mouse is fine for me. That said, I hate browsers. Vimium make it less painfull, tho.
You can use cs code without a mouse
If working with a company I rather use vim , if for my own projects either one is fine with me. I like terminal based tools and if I wanted to do other things then emacs would be put into consideration.
What's your distro primeagen?
@ThePrimeTimeagen ToTK is the emcas of the Zelda games
ohhhhhhhh hbabe, i want that
What does this even mean lmao
That is soooo incredibly true. You are maybe the only other person in the entire world say what I’ve been thinking.
@@0oShwavyo0 you can build many things with the ultra hand system, thats why
I live in Vim, I have Doom Emacs (with native compilation) installed. I just like the speed of vim.
Sometimes I jump into emacs to work on things. Some plugins are fun.
dabbling in everything, expert in nothing. classic.
@@exnihilonihilfit6316 what a sad comment. Shows people can’t even read these days.
@@exnihilonihilfit6316you can be expert at eating walking breathing no problems. There no rules tell that you can expert only one thing
This video is right on time for me. I have been using doom emacs for 2 years now and it was great up until I ran into problems with the LSP integration. It just wouldn't work and make emacs hang all the time. I finally decided to try neovim and it works great. Still have some issues with the LSP in neovim as well but its fast enough to reload it so not much of a hassell. But I do miss some emacs features like org-mode and magit.
I've been using Emacs for almost as long as I've been a programmer, but in the past year I've made a concerted effort to learn modal editing with Vim and I now understand the reason for the Vim evangelism expressed here and elsewhere. While I still prefer Emacs overall (I cannot give up on Org mode, Info mode, and my beloved Elisp) I am now using Evil as my daily driver and really do feel like I have the best of both worlds. Also, with respect to terminal emulators in the editor environment -- Emacs terminal emulation using `vterm` is decent bit but I still prefer using tmux with Emacs-nox for more complicated, terminal centric dev work flows. I do have a soft-spot for eshell, though :)
The Gandalf image is as old as at least 2014
I do use terminal in nvim
:20 hsplit
:terminal
:)
you can't advocate for a super-keyboard while complaining about emacs finger mashing.
i don't have a super-keyboard, but i do pick my keyboards where i can hit the control key with the palm of my hands. pretty much erases the emacs finger strain.
You couldnt tell the voice is generated? oh no
Eight Megabytes
And Constantly Swapping
Escape Meta Alt Control Shift
I use nvim because i have a few tty laptops and i don't want to have gui on them. Emacs is great but i can't be bothered to configure it and if i need to make changes and something goes wrong it pretty much crashes back to defaults, that suck unless i wrap everything with error catching.
Why would you have to configure it if you don't want to?
This war has been solved forever, Emacs+Evil is the way and the truth. I will say that Vim has a better term emulator for some reason, but using a whole buffer inside your editor for a term is kinda annoying anyway so who cares.
What can be better than copying text from a buffer to your shell? Of course in this age you can do it via the gui clipboard but not as powerfully
Using "a whole buffer" is not a problem, but I bet you meant a window. Even then, instead of splitting a window you could spawn a new frame for the terminal, in which case you can task switch it in your WM/desktop and still enjoy the benefits of having it inside Emacs where it's accessible as just another text buffer manipulatable with Emacs Lisp.
(require 'evil) (evil-mode 1) (setq evil-ex-search-case 'sensitive)
I miss QEdit with the WordStar bindings.
QEdit + 4Dos + Norton Utilities were the golden days of MS-DOS.
@@MichaelPohoreski It's like editors today are slower even on the modern machines.
@@whig01 Sadly, yes. Thankfully Vim is still fast.
@@MichaelPohoreski It doesn't feel as fast without the WordStar bindings.
I can't believe people keep saying it's vim vs emacs, no, it's vi vs emacs. sheesh!
Since you can have terminal inside Emacs, why not combine the best OS with the best editor ? With evil mode so that you only have one set of keybinds.
Huh
prime : you guys know what i mean
vladeimir : guy beating meat
15:24 Tears of the Wantagen
When the reaction is 3 times the length of the video
Emacs is OS independent, you can carry your Dev-Enviorment with you everywhere. I’m talking everything, terminal, tiling, pdf reader...etc (future proof in case you ended up working on Windows). This is all theory, in reality, it doesn’t work (we need more maintainers).
Maintainers really won't fix that. 90% of Emacs users are using Linux, so throwing more bodies at the problem doesn't help.
Recently changed job and landed on Windows 11 :/ I will try to use Emacs on Windows.
There's only seriously 2 platforms now, windows and Unix. (Mac is Unix). So why that would matter I don't know
This video will definetly go *vi* ral, it will get th *e max* imum number of views that youtube allows (which is 301).
i don't get it
@@ThePrimeTimeagen Search query: "Why do RUclips views freeze at 301?"
@@ThePrimeTimeagenme neither
A little known fact... James Gosling is the author of Emacs. Richard Stallman basically yoinked his code and re-licensed it to GPL (though old copyright was lingering in some files at first), and then started actually working with it. I believe that at this point there is none of the original code there, but calling Richard Stallman the author of GNU Emacs even, seems like a bit of stretch to me, as GNU Emacs was only possible to start existing, because Gosling had let this one slide, as this was basically stealing his code and breaking the terms of original license, and he just didn't want to deal with it and wasn't working on Emacs anymore.
ok so according to Wikipedia Gosling Emacs was in 1981 and the original Emacs was in '76 so... if you have any links that say contrary I'd like to see them
@@ea_naseer GNU emacs is '84. There were many implementations of emacs by different companies/people. If you want more context from the Gosling himself: youtube video TJ6XHroNewc TimeCode: 2:52:30
@@ea_naseer Ok, it might have not been quite specific. The fact is thatGNU Emacs at the very beginning was Gosling Emacs with GNU slapped on it. I've seen an interview with James Gosling talking about it, will try to find it.
@@ea_naseer here's the timestamp where he starts talking about his version of Emacs and how GNU Emacs came to be.
ruclips.net/video/TJ6XHroNewc/видео.html
And here's specifically the fragment about Stallman taking all the code: ruclips.net/video/TJ6XHroNewc/видео.html
Pretty sure that is completely wrong. Stallman was pissed off at the restrictive Emacs licence and started from scratch on a mad multi month hacking binge fueled by late nights, coke and pizza.
i dont understand shit but css and html but im having fun here
Emacs is a king!
For people saying emacs is a good os only missing a good text editor . Never have they used emacs . You configure for editor to suit ur need not the other way around