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.
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 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.
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 th-cam.com/video/FtieBc3KptU/w-d-xo.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
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.
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
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.
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.
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?).
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
@@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.
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.
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.
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
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.
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.
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.)
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 🤣
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?
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.
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.
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.
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'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 :)
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.
@@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.
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 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.
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.
@@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
I can concur. I use Emacs, and customize the heck out of it. I couldn't figure out a one step way to toggle the window* split on my monitor between horizontal to vertical. So I made my own function for it. * A window in Emacs is like a frame or a pane in other apps. (defun my/toggle-window-split-direction () "Toggle the split direction of the current window." (interactive) (if (= (count-windows) 2) (let* ((this-win-buffer (window-buffer)) (next-win-buffer (window-buffer (nextcompany-abort (this-win-edges (window-edges (selected-window))) (next-win-edges (window-edges (next-window))) (this-win-2nd (not (and (
I like both, but my fav and DD is emacs in a shell. I prefer not to acknowledge Stallman has anything to do with the editor, though. XD. Emacs has gotten so much better with good, fast plugins, native compilation, etc. It used to be SO SLOW to start up. Now it's so close to vim it doesn't matter. Why do SO MANY vim users not know how to use it? And out of the box it's painfully inefficient working with more than 1 file. Seems like most people use it because they think they're getting nerd status. And sometimes I find its modal nature awkward. It works out sometimes, but feels slower in other circumstances.
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.
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.
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.
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😂
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.
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
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 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.
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 th-cam.com/video/FtieBc3KptU/w-d-xo.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
When you were searching for the meme I kept thinking about "Silly Hats Only" but I'm glad you found the right one
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.
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.
Gandalf was just shitposting on 4chan in that image, a true wizard
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.
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
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
I use Witchemacs because it has nice defaults, no layers and Marisa from Touhou in the splash screen.
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 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
then there's me using and liking both. It does take a few minutes for the muscle memory to kick-in when switching
Emacs users rise up!
Emacs is LIFE!!
Living in Emacs is the way of life!
That Nautro meme makes me really wanna pick up VIM again
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.
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
Paragraph jump is one ‘{‘, not two.
It actually jumps to the next blank line.
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.
evilmode in spacemacs/doomemacs - war is over
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.
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.
One don't "" from 'i' mode one "jj"s from it.
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 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.
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.
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 called Doom Emacs because you're Doomed to keep getting the wrong answers when asking for help with your hipster variant.
Indeed it's love a flame war. Just use emacs.
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
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.
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
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.
That kakashi meme is too funny. Prime is too old yo get 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.
The joke should be: Emacs is like a complete operating system but... it's just missing a kernel... Sorry Richard :(
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.
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.
And micro enters the chat
3:45 devaslife...? who is it
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?
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.
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!
I learned python using terminal emacs while ssh’d into a university computer, in 2018…
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.
Church of Emacs or Cult of Vim
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.
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.
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.
1:10 The person who comment J-ASS, lmao.
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.
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 :)
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
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.
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 TH-cam and finds a video called "Tutorial on how to exit Vim"
Me: "Nah ..."
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.
Eight Megabytes
And Constantly Swapping
Escape Meta Alt Control Shift
Epic battle, greater than Avengers vs Thanos
4:13 "redrawtime exceeded, syntax highlighting disabled"
Richard stallman wrote two operating systems
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
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?
Veni,vidi,ViM. Salutations from France.
15:24 Tears of the Wantagen
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.
The Gandalf image is as old as at least 2014
@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 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.
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
I do use terminal in nvim
:20 hsplit
:terminal
:)
I have edited borked configs on half dead systems with just cat and sed.
Because the alternative would have been vi(m).
it is real when gandalf read the hp script. because director didnt print it.
(require 'evil) (evil-mode 1) (setq evil-ex-search-case 'sensitive)
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
I can concur. I use Emacs, and customize the heck out of it. I couldn't figure out a one step way to toggle the window* split on my monitor between horizontal to vertical. So I made my own function for it.
* A window in Emacs is like a frame or a pane in other apps.
(defun my/toggle-window-split-direction ()
"Toggle the split direction of the current window."
(interactive)
(if (= (count-windows) 2)
(let* ((this-win-buffer (window-buffer))
(next-win-buffer (window-buffer (nextcompany-abort (this-win-edges (window-edges (selected-window)))
(next-win-edges (window-edges (next-window)))
(this-win-2nd (not (and (
I like both, but my fav and DD is emacs in a shell. I prefer not to acknowledge Stallman has anything to do with the editor, though. XD. Emacs has gotten so much better with good, fast plugins, native compilation, etc. It used to be SO SLOW to start up. Now it's so close to vim it doesn't matter.
Why do SO MANY vim users not know how to use it? And out of the box it's painfully inefficient working with more than 1 file. Seems like most people use it because they think they're getting nerd status. And sometimes I find its modal nature awkward. It works out sometimes, but feels slower in other circumstances.
When the reaction is 3 times the length of the video
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 can't believe people keep saying it's vim vs emacs, no, it's vi vs emacs. sheesh!
i dont understand shit but css and html but im having fun here
Almost 16 minutes of "You know what I mean?".
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 TH-cam views freeze at 301?"
@@ThePrimeTimeagenme neither
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.
prime : you guys know what i mean
vladeimir : guy beating meat
What's your distro primeagen?
Exploration vs. Exploitation
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?
Just use nano lol
14:00 what about ed?
Meanwhile I’m sitting here chilling with my helix 🧬
In terms of productivity and editing speed, which is faster, Vim or Emacs?