Full podcast episode: ua-cam.com/video/hi9Rf0oLdHk/v-deo.html Lex Fridman podcast channel: ua-cam.com/users/lexfridman Guest bio: Coffeezilla is a journalist and investigator on UA-cam who exposes financial frauds, scams, and fake gurus.
c-x c-c and try out VI-motions, it adds more power to any good editor, including VSCode and Emacs. It has a steepish learning curve, but well worth it. To learn: run vimtutor several times, learn macros, force yourself to use it, sharpen the saw and profit.
Yeah, sometime I am writing on a spreadsheet or regular word and I start typing using vim keybindings just to realise that they don't work. As a way to navigate and change text ViM keys are superior in every other remark Emacs takes the win that's why I use DOOM Emacs
Dude, when VSCode dies Vim and Emacs will still be around. They'll only die when something modern manages to do what they do better then them while beeing a lot more convenient.
@@lucascamelo3079 Sure, but your ability to use vi then vim and now Neovim is transferrable. If anything, this just shows that no matter what, some form of Vi and Emacs is going to be around. I do think VScode has solidified itself enough to be around for a longtime and will only be overtaken, by a successor that is basically the same but does something better. Alternatively VSCode can die if Microsoft does something extremely stupid like forces recall type features on you when using it.
I am taking to heart what Carmack said in his interview with Lex, where he said that you shouldn't be locked down to only doing your job in a terminal and a TUI-text editor. That we should use other tools that can help us see the problems better from other views. It is just that I usually work on other machines than my own, usually ssh in, and then its sometimes a hassle to get visual GUI things set up. But I usually have to set those things up anyway when I inevitable have to look at some pcap of some interaction or something like that - so I guess I am mostly being lazy. But yeah, being on weird servers with weird things present on the system is why I lot of the time has been leaning towards TUI stuff and vim tools. But I wholeheartedly agree that it is weird to take vim as anything other than a preference and a good tool. You shouldn't "only use vim" as some kind of dogma. There are lots of things that are not shown best in text and we should try to expand and use the best tools for the jobs.
yea but carmack is doing some otherworldly and insanely powerful engines - the man is an artist because he is creative - he creates incredible software. for someone like me who is dumb as hell - using a bare bones text editor has allowed me to have laser focus - im also adhd - so I enjoy filtering out distractions, but I do use use vs code for all python programing - when I program in C i use vim exclusively.
They are all just tools. As a millennial Dev I've used mostly GUI based IDE and editors but had to learn vim because I started to run into situations where i needed a solid editor that is usable inside a terminal and Nano was getting kind of cumbersome to use. Unless you do the kind of work where you rarely have to interact with the terminal It's at least helpful to get a good grasp on something like vim.
Been a jetbrains user for years, and have only recently been experimenting with the vim plugin for key binds/ vim movements. I can already see the potential for a beautiful relationship as hard as the learning curve and initial mental overhead has been. Whatever your choice, I'll still love you Lex!!
Its what I usually say, vim/nvim itself requires a lot of time configuring and customizing to get it to do what some of these IDE's do out of the box. I wouldn't recommend vim, but I definetly recommend the Vim motions to everyone that needs to type and edit a lot of files. If I stop using Vim I'll at least have the motions embeded in wathever editor I decide to use.
@@jonnyso1 That's how many vim enthusiast seem to start. They use the plugins for years and then just for some reason move completely into vim/nvim. I'm myself currently at the stage where I know the motions and use nvim for some basic tasks, but don't really see how I could go full nvim on serious projects or my work instead of Jetbrains IDEs. Some features that work incredibly well in a proper IDE like JetBrains need ridiculous amount of configuration and hacky solutions and might still not work as well. I'm really glad I know how to use Vim when I need it, but I don't know how I could fully convert into using it full time. Another big issue is that foreign language support in Vim and Neovim is a mess as both langmap and keymap are incomplete solutions if you are using non-English ISO layout
The thing about Emacs is that its an all-purpose text-manipulation machine: programming, sure, but also documents (auctex), emails, notes (org), calendar (org), calculator (calc), and that's just the highlights. It is a bottomless well of functionality. I used vim for many years and still have vim fingers: it's a great key-binding design. But if you aspire to do more than manipulate program text, look beyond vim and the IDE's to Emacs.
I rather use the shell for this stuff, not email because my company uses Ms 365 with app restrictions so I have to use Thunderbird so there is no point setting up neomutt if I have to use the other one as well… But yeah, you don’t need to use you editor to solve everything, there are great cli tools out there, and you can invoke them from inside vim if you need them to manipulate your file while you edit…
@@zehph "I rather use the shell for this stuff", great by all means do so. Isn't freedom great? I'm not some commissar, trying to force use of Emacs, just pointing out why the synergy of using the same muscle memory across a variety of tasks makes sense to a lot of people. For example, I write for a living and do a bit of Ruby programming as a hobby. I often find myself needing to do arithmetic in my writing, and in Emacs, I can pop up a powerful HP-like stack-based calculator, perform the calculation, and pop the result to back into my document where my cursor was. When programming, I can write comments in org-mode, which lets me put tables and ASCII diagrams into my comments with org's tables and code blocks. The point is, there are a lot of little tools like that in the Emacs ecosystem that work together to make text-manipulation a joy. But if you like the shell (I do too, the fish shell), by all means use it. Have a great day, @zehph.
Emacs has tramp mode just ssh within my editor. Emacs has a terminal but no need to use it, you can run every command from emacs. Docker? Mode for that? Git? Mode for that. And I can don’t task management, time tracking. Emails. I’m not there yet but I’ve seen the power of doing everything within emacs.
As a young person just starting my career vim/Neovim really seems to be the way forward. Extremely powerful customization and it almost always just works (after some initial effort). But yeah always watching from the shadows...
dont use it buddy you wasting time for something that is out of touch with reality just use vscode for web and visual for game dev believe me you will regret wasting time with old tools like vim emacs you will only realize this when starting to work with extremely complex software and you will need to debug .... using trash vim or emacs will break your mind and get you tired of doing ZERO , vscode and especially visual studio the debugger the tools are simply an epoch ahead of anything else the graphical objects make sense and ease the thinking process , and in other areas like game design they exclusively use visual studio anything but has zero chances as visual now has the ability to play the game and pause the code as it renders completely outside the reach of something like vim i mean tens of people worked only on this option for over 1 year ...... as software complexity increases the use of vims emacs is completely out of touch certainly the new tools will evolve further to include visual mechanisms like the unreal editor
"How long will Vim and Emacs be around really?" Longer than VS Code will be. Text editors have come and gone dozens of times since Vim and Emacs have been around, yet they still have active communities. Who's to say that the currently active community around VS Code don't just jump ship onto the next best editor in 5 years?
Yeah Vim is growing, not declining whereas people are beginning to complain about vs code bloating. Yes vim will surely outlive vs code, and by a few centuries
@@Boxing_Gamer Vim literally can't die, vi alone comes preinstalled on the vast majority of machines in the world. Which is like... 70% of all computers/servers..
I am a vim lover and I don't even code... It just captured me with it's design. Small, fast, powerful, it does 1 thing and it does it well and it integrates with the rest of the OS organically. Basically a prime example of why the unix philosophy is good. Literally the opposite of emacs and vscode.
Emacs is a great LISP editor. Which is convenient, as all my Emacs friends spent the majority of time on their lisp config files rather than writing real code in college.
Emacs has been around for about 40 years or so, it's not going anywhere. It may never be as popular as other text editors, but there will always be people using it.
vim is not an ide until you make it into an ide? is this correct ? I'd imagine to say it's better is subjective based on how vim was setup. if you are just using vim as a text editor then it's not justified as a basis of comparison to an ide when it is inherently just a text editor. I never understood why people setup vim to be vs code clones - at that point just use vs code because it's pretty incredible stock.
vim is a language. it's a different way of looking at and manipulating text. There's a reason people have "vim fingers" and want vim keybinds everywhere. To make it an "ide" is just plugins, but fundamentally, it's that vim experience people want
You definitely don't understand vim and why it's used that way. Vscode is very locked down. You can't customize shit. And the very little you can customize is with json. Vim and Emacs leverage the power of a programming language to configure your editor. If I use vscode I can't be 10% as productive as I am in vim or emacs.
@@StEvUgnIn if we’re thinking about the same thing then you actually can have vi(m) bindings in your shell. I use zsh but I believe you can configure bash to do the same.
Emacs is still being actively developed (Emacs 29 will be releasing soon with new features like native LSP support, native tree-sitter support etc.) and I doubt that it will halt development anytime soon; it is the first and best GNU package and will always be the lisp hacker's preferred editor. For example, for any Lisp and most MLs, Emacs has the best development environment and it's not even close; other editors struggle to offer an imitation of what it has to offer, and there's a bunch of other things Emacs does better than most other editors.
But do you have the competency yo compare? How much experience do you have with those other options? That's always the issue with opinions like yours: the people giving them are effectively merely shilling the thing they use. It's practically a rationalization, kinda like religion... simply subjective. There are _very_ few people who've used the things they're comparing enough, and thought about them, to be able to give somewhat objective view on the issue.
@@exnihilonihilfit6316 I have colleagues that had never used Emacs and wanted to stick to VSCode/Vim for learning Lisp, but the options they had didn't come anywhere close to SLIME (Emacs' Lisp Interaction Mode). Similar things can be said for Tuareg (Emacs' OCaml mode) and Geiser (Emacs' Scheme mode); now, it's up to you to consider that as "not being competent enough to compare" the options, as I do not have the need to hop between editors every month; Emacs is, and always has been enough to satisfy all my editing needs.
@@ducksies Agreed! Let's not neglect magit, a git porcelain. Magit in spacemacs then in doom-emacs (my recent emacs journey, though thirty years ago I switched from emacs to vi, then through all the editors and IDEs until a return to vim then spacemacs ten years ago) with their discoverability feature taught me more about git than a decade of cli and gui git usage.
@@randomsearches369 I would recommend watching Uncle Dave's series on Emacs instead of taking a random person's config. If you want a no-hassle starting point, Doom emacs and Spacemacs are great
When I started programming in the end of the 80s we all used text ui based editors for coding and dreamed about nice graphical UIs. Now, we turn back to text UIs :D :D :D
I'm a nano user, but I seen the power of Emacs and plan to switch to it. I like th power of VSCode but I hate a lot of things about it too too complicated too tied in with GitHub / ms too gui... etc
Lsp servers changed the game completely, vim and emacs can now do the same as jetbrains ide (almost). I've tried them all and no doubt emacs and neovim best jetbrains and vscode when it comes to raw xode editing and navigation. It's not even a contest. If you think otherwise it's because you haven't learned vim or emacs.
There is a significant difference in debates! Unlike the soccer debate, IDEs could be compared by professionals and people who's at lease using it, there is no "emacs vs vim" comparison in kindergarten. So, you can go compare Messi and Ronaldo in a TV show, in professional sport nobody's comparing them. It's a nonsense.
I originally decided to learn vi/vim mainly because I figured it was most likely to be already installed on most systems. I'll use vim when I just need to do some wuick editing, or I have to edit a script on a remote system. But I wouldn't consider vim an "IDE".
I was thinking the same. But I think the whole shift came after the Van Rossum episode where he mentions that vscode is the spiritual successor of Emacs
@@exnihilonihilfit6316 spoken like a truly ignorant person. Assembly is still widely used especially in embedded stuff. Just because your line of work does't use assembly doesn't mean nobody does.
Darn, right dude! The whole of them keeps confusing everything with their own subjective and generalized views on how they set up and use a tool such as vim, emacs, or vs code, which in reality are TEXT EDITORS and not IDE's perse.
I used emacs from 1998 to like 2003 but nowadays I really have to give it up for vim and specifically neovim. Neovim is rising like crazy and blow a whole lot og new life into vim. Im dead sure its adopting way more new people then emacs does, and will probably live for looong. Like people put vim keybindings in vs code. It's really good. And that guest going on about space eMacs? If that's just a pre bloated emacs like spacevim is for vim... that's quite embarrassing to put out on a podcast like that 😂
Actually there seems to be a good number of folks moving from vim to emacs because of evil mode. But emacs diehards I think would pride themselves on how few people use it and how much time it takes to get to a point where it's actually beneficial. I wouldn't be surprised if the amount of time I've spent on my config file exceeds whatever time they've saved for me. Plus I've now mostly switched to vscode (*cries*). I use emacs mostly for basically org mode and fast text editing. I agree it was embarrassing for coffeezilla esp since lex was a hardcore emacs user but hey lex brought it up and I get where he's coming from. for a casual coder just getting into emacs seeing something like doomemacs and spacemacs for the first time, their first impression is probably how superior it is to their experience of seeing the default GUI on emacs from scratch and having no clue what to do. But still, yeah it was kind of cringe, like telling a professional chef they've got to try Blue Apron. But hey again he's not a coder.
Vim is the most precision based text editor that one could want. Using it as it was designed for means one thinks about every change. Normal mode is the magic. There is no outdating it. If I would become blind I can still write the text as I do today. Eyes are just there to verify progress. Show me any other editor where that is possible.
I really cant understand why anyone would use anything other than vscode. That thing fits onto your mind like an super appendage or like a super exo suit.
@@zerosumgame9071ever wonder why there wasn't a linux community mass exodus from github? I'm still trying to figure that one out. The feature set doesn't keep me gripped.
Just one comment in regards of new text editors. There are some cases in which you are given a Linux computer for work which is not connected to the internet and you can not download anything on it. You have 2 choices vim or Emacs. This is the reason why I only use vim, why bother learning a new tool if I will never be able to use it in my work environment? I also avoid vim plugins for this reason. I know this is a very specific example but it happens.
Multi-decade vim user here: Would definitely choose emacs in that situation. Vimscript (or even Lua) just doesn't cut it for automating text-based tooling. Emacs' library is also significantly larger to pilfer from. To be clear, I switched to vim as a combination of both emacs-pinky and vi being more ubiquitous.
Would you please share something? Using screen for the first time was a sort of religious experience for me. I realized that with screen I would never be limited again. Knowing that made me suddenly obsessed with having IT as a career. I try to bring as many as I can to screen as possible. I never run vim unless I'm in screen. Tmux is just a bsd rewrite of screen.
My objection is that people really shouldn't be trained on Emacs. That weeds out an entire group of people who don't like to memorize a bunch of command shortcuts. If you come upon Emacs later and enjoy it, that's your business. The first IDEs people use should be measured by how often beginning users become intermediate users. After that, they should also be able to use the same environment professionally as well, predictably, for at least seven years. Emacs, however, really slows down some people who are quite capable in a GUI.
Counterpoint: When I started programming they gave me Eclipse. All the integrations and thingies made it hard for me to even understand what happened when I pressed the "Run" button. If they instead would have started me out with a terminal and let me run the compile and run commands myself it would have been much clearer what was actually happening. Removing a student from what is actually happening usually imo just confuses more than it helps. So I disagree with you when it comes to IDEs. Give them a text editor, a terminal and a compiler and let them work up from that. No confusion. Simple building blocks. That said, VS Code is a perfectly fine editor. Doesn't add too much confusion while still creating an easy-to-understand GUI. I can buy that emacs/vim is not what you should start with. You can learn about those when you (if you ever have to) log into some weird server with nothing on it and have to edit a file there.
@@Olodus Interesting...Maybe there is a way to pre-test students and classify them so we can better understand their learning process, then send some in one direction and some in another? The attrition rate of students who intend to do CS but don't make it is too high. Development environment is just one aspect, but individualized learning could help in a variety of ways.
@@stevengreidinger8295 True. Sorry might have been a bit hasty there. Thinking a bit more on the topic I could definitely see some preferring to approach the topic from a more creative view-point where building from the bottom up is not preferred. For example, you could give a student a generative-art design editor (some UI-based Processing frontend or something like that), or a Scratch-like/Unreal flow graph language and learn the coding on a high level while creating cool stuff as you go. Hopefully at the end both approaches would reach the same goal, as I think a deep understanding of the tools we use greatly strengthen us as developers. I mostly stand for my original statement though, lots of IDE's add on unnecessary abstraction and complexity. If you want to use an IDE I would say you should look for one where by removing the need to handle some parts of the pipeline it lets you focus on the problem/creation in a clearer way. It shouldn't hide things for you just because.
@@Olodus Those are interesting ideas for teaching visual thinkers. You're also correct that IDEs can have far too much going on. Just because you have a GUI doesn't mean you're easy to use. Maybe some software should have a stripped-down mode and use predictive analytics to show only features the user has above a 1% chance of deploying in a given session.
That's really the "thought" process of most here: "I happen to be using that... therefore it is the best and the rest are objectively inferior programs." At least you're honest about your complete and uninformed subjectivity - unlike them all.
Emacs is definitely not better than vim. I don't think vim is better than Emacs either but to say emacs is better than vim / neovim is just crazy nowadays.
I'm an old fart, and I can't wrap my head around why people still use vim or emacs. They must do something I don't know about, something that modern IDEs can't do, but I have no clue what that might be.
Why most of the prolific programmers use Emacs or Vim? Most fantastic programmers I already had the opportunity to meet them use Emacs and a few other use vim or whatever. It's a funny anecdotal. A use emacs for the last 7 years.
It's because emacs and vim are still the superior text editing tools when used with just a small amount of their potential by a touch typist. Programming is editing code and prolific coders don't mind the extra config to add features they want on top of the already superior text editing utilities of these two editors. When programming is accomplished by means other than editing text or some editor comes along with better raw text editing power than vim/emacs other tools make sense. "X editor is popular with the new generation of programmers these days" is a terrible reason to use an editor. Around 50% of programmers are below average programmers. A bunch of programmers using some software doesn't mean much.
@@takeiteasyeh It means that if I modify a .ts, the .vue will not detect anything and will show me errors thate are not there. So all day long we have to close and reopen VS Code after every changes. Also VS Code will sometimes fail to save with conficts even if only 1 instance of the file is opened on that computer (not git stuff here). So in my experience, it is the most broken text editor. It will open files that were not saved from memory instead of from the ssd, that is a stupid idea.
cappuccino lazyvim config with 60% transparent bg, with telescope, harpoon, a riced tmux and obsidian.nvim (and others) plugins is just a *muah* workflow
emacs and vim will be around forever. I cannot imagine another terminal-based editor rising above emacs and vim, the space is just too niche. As niche as it is though, it will always be required to exist. I'll give you an apple for every enterprise server you find with a DE installed on it lmao. People need to configure things on servers and 9 times out of 10 they'll be working through a terminal
According to the stack overflow survey: Emacs is already dead. Sitting at #20, with just 4% marketshare. Even less for new developers. vim is hanging in there at #5, with 23% marketshare. Also trending down with new developers. By a wide margin, the current leader is VS Code, with a 74% market share and still growing.
True, but ultimately it doesn't matter. Emacs is being developed by a bunch of fanatics (in a positive way), who will keep using and developing it forever. Same with vim. I am one of those vim fanatics and I can tell you that you can get it to the same level as vscode. Especially when it comes to intellisense. The only thing it may be lacking a bit are those cloud plugins. But there are still neat solutions available. And i find writing shell scripts to interact with cloud services way more efficient anyway
@@paulpach it's not quite dead. Yes it's community is small compared to vscode. But the people in this community have an incredibly deep knowledge of emacs and plugin development for it. There are very few things you can do in vscode that you can't in emacs. It will most likely outlive vscode. And probably all of us as well. Same goes for vim or some future fork of it.
@@mario7501 by that logic no software is ever dead as long as there is 1 user still using it. Sure, it may have knowledgeable users, but so does every other IDE. With an already insignificant user base that shrinks further every day, it is as dead as software gets.
It is just not that great in my opinion. The concept of notebooks is cool for prototyping and exploratory analysis, but I'd never us a notebook in production. But if you like them for prototyping, I can recommend the Jupyter VS code plugin! There are also options for vim, but they are not as neat since vim is terminal based
I only use nano/emacs/vim (for me nano) when I have to edit something within a linux box. If I have the option of using VS Code, I always will. It just seems pointless to me, to not use all the amazing tools of vs code
Messi is better than Ronaldo .. That’s like saying “ Jupiter is bigger than Earth “ .. what was wrong with it ? Ronaldo is human .. Messi is from another world .. there can’t be any comparison..
Full podcast episode: ua-cam.com/video/hi9Rf0oLdHk/v-deo.html
Lex Fridman podcast channel: ua-cam.com/users/lexfridman
Guest bio: Coffeezilla is a journalist and investigator on UA-cam who exposes financial frauds, scams, and fake gurus.
c-x c-c and try out VI-motions, it adds more power to any good editor, including VSCode and Emacs.
It has a steepish learning curve, but well worth it.
To learn: run vimtutor several times, learn macros, force yourself to use it, sharpen the saw and profit.
It doesn't matter what editor you use. They are all great (as long as they support vim keybindings)
fr
@@federalagent7334 mate who hurt you?
Yeah standard emacs keybindings is ass. Kinda have to remap alot of them or go with vim binds.
@@federalagent7334 "Maybe we need more diversity hiring?" **Sarcasm**
Yeah, sometime I am writing on a spreadsheet or regular word and I start typing using vim keybindings just to realise that they don't work. As a way to navigate and change text ViM keys are superior in every other remark Emacs takes the win that's why I use DOOM Emacs
Dude, when VSCode dies Vim and Emacs will still be around. They'll only die when something modern manages to do what they do better then them while beeing a lot more convenient.
I just hate GUI IDE's periodt!
And it already happened some times: Vi -> Vim -> Neovim
@@lucascamelo3079 vim isnt the app itself its the friends you make along the way
@@lucascamelo3079
Sure, but your ability to use vi then vim and now Neovim is transferrable. If anything, this just shows that no matter what, some form of Vi and Emacs is going to be around. I do think VScode has solidified itself enough to be around for a longtime and will only be overtaken, by a successor that is basically the same but does something better. Alternatively VSCode can die if Microsoft does something extremely stupid like forces recall type features on you when using it.
Dude when Vim will dies, Emacs will still be around
I am taking to heart what Carmack said in his interview with Lex, where he said that you shouldn't be locked down to only doing your job in a terminal and a TUI-text editor. That we should use other tools that can help us see the problems better from other views.
It is just that I usually work on other machines than my own, usually ssh in, and then its sometimes a hassle to get visual GUI things set up. But I usually have to set those things up anyway when I inevitable have to look at some pcap of some interaction or something like that - so I guess I am mostly being lazy. But yeah, being on weird servers with weird things present on the system is why I lot of the time has been leaning towards TUI stuff and vim tools. But I wholeheartedly agree that it is weird to take vim as anything other than a preference and a good tool. You shouldn't "only use vim" as some kind of dogma. There are lots of things that are not shown best in text and we should try to expand and use the best tools for the jobs.
yea but carmack is doing some otherworldly and insanely powerful engines - the man is an artist because he is creative - he creates incredible software. for someone like me who is dumb as hell - using a bare bones text editor has allowed me to have laser focus - im also adhd - so I enjoy filtering out distractions, but I do use use vs code for all python programing - when I program in C i use vim exclusively.
They are all just tools. As a millennial Dev I've used mostly GUI based IDE and editors but had to learn vim because I started to run into situations where i needed a solid editor that is usable inside a terminal and Nano was getting kind of cumbersome to use. Unless you do the kind of work where you rarely have to interact with the terminal It's at least helpful to get a good grasp on something like vim.
Been a jetbrains user for years, and have only recently been experimenting with the vim plugin for key binds/ vim movements. I can already see the potential for a beautiful relationship as hard as the learning curve and initial mental overhead has been. Whatever your choice, I'll still love you Lex!!
Its what I usually say, vim/nvim itself requires a lot of time configuring and customizing to get it to do what some of these IDE's do out of the box. I wouldn't recommend vim, but I definetly recommend the Vim motions to everyone that needs to type and edit a lot of files. If I stop using Vim I'll at least have the motions embeded in wathever editor I decide to use.
@@jonnyso1
That's how many vim enthusiast seem to start. They use the plugins for years and then just for some reason move completely into vim/nvim. I'm myself currently at the stage where I know the motions and use nvim for some basic tasks, but don't really see how I could go full nvim on serious projects or my work instead of Jetbrains IDEs. Some features that work incredibly well in a proper IDE like JetBrains need ridiculous amount of configuration and hacky solutions and might still not work as well. I'm really glad I know how to use Vim when I need it, but I don't know how I could fully convert into using it full time. Another big issue is that foreign language support in Vim and Neovim is a mess as both langmap and keymap are incomplete solutions if you are using non-English ISO layout
Lex come back.
We have Doom Emacs now! Please.
The thing about Emacs is that its an all-purpose text-manipulation machine: programming, sure, but also documents (auctex), emails, notes (org), calendar (org), calculator (calc), and that's just the highlights. It is a bottomless well of functionality. I used vim for many years and still have vim fingers: it's a great key-binding design. But if you aspire to do more than manipulate program text, look beyond vim and the IDE's to Emacs.
no one uses it for emails tho.
I rather use the shell for this stuff, not email because my company uses Ms 365 with app restrictions so I have to use Thunderbird so there is no point setting up neomutt if I have to use the other one as well…
But yeah, you don’t need to use you editor to solve everything, there are great cli tools out there, and you can invoke them from inside vim if you need them to manipulate your file while you edit…
@@zehph "I rather use the shell for this stuff", great by all means do so. Isn't freedom great? I'm not some commissar, trying to force use of Emacs, just pointing out why the synergy of using the same muscle memory across a variety of tasks makes sense to a lot of people. For example, I write for a living and do a bit of Ruby programming as a hobby. I often find myself needing to do arithmetic in my writing, and in Emacs, I can pop up a powerful HP-like stack-based calculator, perform the calculation, and pop the result to back into my document where my cursor was. When programming, I can write comments in org-mode, which lets me put tables and ASCII diagrams into my comments with org's tables and code blocks. The point is, there are a lot of little tools like that in the Emacs ecosystem that work together to make text-manipulation a joy.
But if you like the shell (I do too, the fish shell), by all means use it. Have a great day, @zehph.
@@upendownlinker Literally everyone who uses emacs uses it for mail.
This video is like finding out your two favorite NBA players are also rocket scientist
I thought this was just an old clip with Carmack and was surprised it was Coffeezilla instead
Lex, make a 10hour lesson of "how a editor should be?"!
I am totally in for it!
no you need this - Learning the vi and Vim Editors: Power and Agility Beyond Just Text Editing 8th Edition
I use vim, because I use terminal every day and its useful to be comfortable with the tool that's available on every system I SSH to.
emacs has a terminal mode as well haha, as does spacemacs i believe
Emacs has tramp mode just ssh within my editor. Emacs has a terminal but no need to use it, you can run every command from emacs. Docker? Mode for that? Git? Mode for that. And I can don’t task management, time tracking. Emails. I’m not there yet but I’ve seen the power of doing everything within emacs.
@@akfak9048 disgusting
i think emacs will not die out any time soon, its been active for decades
As a young person just starting my career vim/Neovim really seems to be the way forward. Extremely powerful customization and it almost always just works (after some initial effort). But yeah always watching from the shadows...
Try spacemacs man❤️
Don't go doom
Definitely go doom. Doom is the future. (I still mainly use neovim for coding though)
dont use it buddy you wasting time for something that is out of touch with reality just use vscode for web and visual for game dev believe me you will regret wasting time with old tools like vim emacs you will only realize this when starting to work with extremely complex software and you will need to debug .... using trash vim or emacs will break your mind and get you tired of doing ZERO , vscode and especially visual studio the debugger the tools are simply an epoch ahead of anything else the graphical objects make sense and ease the thinking process , and in other areas like game design they exclusively use visual studio anything but has zero chances as visual now has the ability to play the game and pause the code as it renders completely outside the reach of something like vim i mean tens of people worked only on this option for over 1 year ...... as software complexity increases the use of vims emacs is completely out of touch certainly the new tools will evolve further to include visual mechanisms like the unreal editor
@@lattehouri get that you dont know how to use vim or emacs but you gotta calm down
"Just when I thought I was out, the Emacs chruch pulled me back in..." Lex Fridman
Just use a vim plugin in whatever ide you are using. Get the vim keybindings for the text editing qnd use whatever feature the ide provides.
or you could just use vim
The problem is that not only is there constant change and new technology, but that the rate of change is increasing.
"How long will Vim and Emacs be around really?"
Longer than VS Code will be. Text editors have come and gone dozens of times since Vim and Emacs have been around, yet they still have active communities. Who's to say that the currently active community around VS Code don't just jump ship onto the next best editor in 5 years?
They will switch to the next cua keybinding editor.
Yeah Vim is growing, not declining whereas people are beginning to complain about vs code bloating. Yes vim will surely outlive vs code, and by a few centuries
@@Boxing_Gamer Vim literally can't die, vi alone comes preinstalled on the vast majority of machines in the world. Which is like... 70% of all computers/servers..
I am a vim lover and I don't even code... It just captured me with it's design. Small, fast, powerful, it does 1 thing and it does it well and it integrates with the rest of the OS organically. Basically a prime example of why the unix philosophy is good. Literally the opposite of emacs and vscode.
Emacs is a great LISP editor. Which is convenient, as all my Emacs friends spent the majority of time on their lisp config files rather than writing real code in college.
It’s an investment
I am more productive at work with Emacs than with VSCode or Goland (Which is what most of what my coworkers use).
How cofeezilla is related to emacs or engineering?
I love Emacs, it's a basic ide with hidden depths.
It doesn't write your code for you, you have to learn properly.
• Messi is not provably better than Ronaldo.
• Emacs is ok, VSCode is alright.
• The #1 greatest IDE of all time is _Ronaldinho Soccer_ ,ha ha ha.
Emacs has been around for about 40 years or so, it's not going anywhere. It may never be as popular as other text editors, but there will always be people using it.
vim is not an ide until you make it into an ide? is this correct ? I'd imagine to say it's better is subjective based on how vim was setup. if you are just using vim as a text editor then it's not justified as a basis of comparison to an ide when it is inherently just a text editor. I never understood why people setup vim to be vs code clones - at that point just use vs code because it's pretty incredible stock.
vim is a language. it's a different way of looking at and manipulating text. There's a reason people have "vim fingers" and want vim keybinds everywhere.
To make it an "ide" is just plugins, but fundamentally, it's that vim experience people want
You definitely don't understand vim and why it's used that way. Vscode is very locked down. You can't customize shit. And the very little you can customize is with json. Vim and Emacs leverage the power of a programming language to configure your editor. If I use vscode I can't be 10% as productive as I am in vim or emacs.
@@DarthVader11912
You can customize quite a bit in VScode but it's a god damn pain.
Emacs is fine as long as you configure it be as close to Vim as possible.
We have the Emacs shortcuts inside shell. Vim will never have that.
@@StEvUgnIn if we’re thinking about the same thing then you actually can have vi(m) bindings in your shell. I use zsh but I believe you can configure bash to do the same.
@@enriquerdl to his point much of the shortcuts come out of the box like Ctrl+e Ctrl+a or alt+b ...
Evil mode is around for the longest time and I think that's what spacemacs comes out of the box with
@@belbaglio while that is true its just one line in the .bashrc to use vi mode. “set -o vi”
Emacs is really better than Vim.
Emacs is still being actively developed (Emacs 29 will be releasing soon with new features like native LSP support, native tree-sitter support etc.) and I doubt that it will halt development anytime soon; it is the first and best GNU package and will always be the lisp hacker's preferred editor.
For example, for any Lisp and most MLs, Emacs has the best development environment and it's not even close; other editors struggle to offer an imitation of what it has to offer, and there's a bunch of other things Emacs does better than most other editors.
But do you have the competency yo compare? How much experience do you have with those other options?
That's always the issue with opinions like yours: the people giving them are effectively merely shilling the thing they use. It's practically a rationalization, kinda like religion... simply subjective.
There are _very_ few people who've used the things they're comparing enough, and thought about them, to be able to give somewhat objective view on the issue.
@@exnihilonihilfit6316 I have colleagues that had never used Emacs and wanted to stick to VSCode/Vim for learning Lisp, but the options they had didn't come anywhere close to SLIME (Emacs' Lisp Interaction Mode). Similar things can be said for Tuareg (Emacs' OCaml mode) and Geiser (Emacs' Scheme mode); now, it's up to you to consider that as "not being competent enough to compare" the options, as I do not have the need to hop between editors every month; Emacs is, and always has been enough to satisfy all my editing needs.
@@ducksies Agreed! Let's not neglect magit, a git porcelain. Magit in spacemacs then in doom-emacs (my recent emacs journey, though thirty years ago I switched from emacs to vi, then through all the editors and IDEs until a return to vim then spacemacs ten years ago) with their discoverability feature taught me more about git than a decade of cli and gui git usage.
could you please share your Emacs config!
@@randomsearches369 I would recommend watching Uncle Dave's series on Emacs instead of taking a random person's config. If you want a no-hassle starting point, Doom emacs and Spacemacs are great
When I started programming in the end of the 80s we all used text ui based editors for coding and dreamed about nice graphical UIs. Now, we turn back to text UIs :D :D :D
The Vim people won't ban you from the financial system tho
I'm a nano user, but I seen the power of Emacs and plan to switch to it. I like th power of VSCode but I hate a lot of things about it too too complicated too tied in with GitHub / ms too gui... etc
Vim/Neovim >> All.
Useless comment.
Lsp servers changed the game completely, vim and emacs can now do the same as jetbrains ide (almost). I've tried them all and no doubt emacs and neovim best jetbrains and vscode when it comes to raw xode editing and navigation. It's not even a contest. If you think otherwise it's because you haven't learned vim or emacs.
maybe an unpopular opinion here, but i love vscode. i've pretty much defaulted to using vscode for everything over the last 2 years.
There is a significant difference in debates!
Unlike the soccer debate, IDEs could be compared by professionals and people who's at lease using it, there is no "emacs vs vim" comparison in kindergarten.
So, you can go compare Messi and Ronaldo in a TV show, in professional sport nobody's comparing them. It's a nonsense.
0:34 The Vim people are after me :') They are in the shadows... When it comes to this debate Vim Vs Emacs... Hell Relatable... :'):
Emacs is a great operating system, if only saddled with a subpar text editor.
That's why Doom exists.
That's just crap. Evil mode is just one keystroke away.
I use VS Code, with a VIM extension :D
I can sense that Lex is finally settling on Neovim and fedora linux :D. And I totally love the fact that he prefers messi over ronaldo lol
what os/distro is he using now?
@@exnihilonihilfit6316I think he uses Ubuntu
@@exnihilonihilfit6316 ubuntu
I have so many vim hotkey macros that automate common code constructs that I can't, or won't work without them.
I originally decided to learn vi/vim mainly because I figured it was most likely to be already installed on most systems. I'll use vim when I just need to do some wuick editing, or I have to edit a script on a remote system. But I wouldn't consider vim an "IDE".
It is now, with the addition of language servers. Full auto completion, goto definition etc. Isn't that more or less the definition of an ide?
@@Boxing_Gamer You can turn vim INTO an IDE but vim on its own certainly isn't one.
Hey, so, what the heck... Use whatever tool(s) you wish, and stop coercing your personal preferences as the norm to the masses.
I use Eclipse for the last 23 years and it does the job.
Why are you apologising? I enjoyed this clip.
How long will Emacs or vi be around? They've been around for 50 years, and will be another 50. VS code won't, but good on you for looking around.
I was thinking the same. But I think the whole shift came after the Van Rossum episode where he mentions that vscode is the spiritual successor of Emacs
@@belbaglio but Vs code misses everything that makes Emacs Emacs.
Yeah, assembly language is around, too. So? How many use it?
Ugh... those damn Luddites, man!
@@exnihilonihilfit6316 spoken like a truly ignorant person. Assembly is still widely used especially in embedded stuff.
Just because your line of work does't use assembly doesn't mean nobody does.
@@exnihilonihilfit6316
A lot of people use Vim and assembly is still relevant.
consult + corfu + orderless + eglot is all you need
Both well dressed and softly spoken, as every Emacs user is.
I am litteraly a teen and I love vim
Spacemacs is not "Emacs and Vim", it's GNU Emacs with a particular configuration, no VIM.
Darn, right dude! The whole of them keeps confusing everything with their own subjective and generalized views on how they set up and use a tool such as vim, emacs, or vs code, which in reality are TEXT EDITORS and not IDE's perse.
vi/vim is the tool which is always installed. The rest is optional. :)
I use gvim on single files and on weekends. But vscode for work, is more complete and is nice.
TECO is the best editor in the world. You're all missing out
doom emacs is also great
I used emacs from 1998 to like 2003 but nowadays I really have to give it up for vim and specifically neovim. Neovim is rising like crazy and blow a whole lot og new life into vim. Im dead sure its adopting way more new people then emacs does, and will probably live for looong. Like people put vim keybindings in vs code. It's really good.
And that guest going on about space eMacs? If that's just a pre bloated emacs like spacevim is for vim... that's quite embarrassing to put out on a podcast like that 😂
Actually there seems to be a good number of folks moving from vim to emacs because of evil mode. But emacs diehards I think would pride themselves on how few people use it and how much time it takes to get to a point where it's actually beneficial. I wouldn't be surprised if the amount of time I've spent on my config file exceeds whatever time they've saved for me. Plus I've now mostly switched to vscode (*cries*). I use emacs mostly for basically org mode and fast text editing. I agree it was embarrassing for coffeezilla esp since lex was a hardcore emacs user but hey lex brought it up and I get where he's coming from. for a casual coder just getting into emacs seeing something like doomemacs and spacemacs for the first time, their first impression is probably how superior it is to their experience of seeing the default GUI on emacs from scratch and having no clue what to do. But still, yeah it was kind of cringe, like telling a professional chef they've got to try Blue Apron. But hey again he's not a coder.
the one with the best debugger wins, vscode
I doesn't matter what editor you use, so long as it's vim.
Vim is the most precision based text editor that one could want. Using it as it was designed for means one thinks about every change. Normal mode is the magic. There is no outdating it. If I would become blind I can still write the text as I do today. Eyes are just there to verify progress. Show me any other editor where that is possible.
I really cant understand why anyone would use anything other than vscode. That thing fits onto your mind like an super appendage or like a super exo suit.
Ever wonder why it’s free?
@@zerosumgame9071 they want to be reading my code? They're welcome to it. They've done very well with the stuff they've spied on so far so...
@@zerosumgame9071ever wonder why there wasn't a linux community mass exodus from github? I'm still trying to figure that one out. The feature set doesn't keep me gripped.
@@zerosumgame9071 It spies on your code, great for learning, but once you're actually looking to make something you better move on
Just one comment in regards of new text editors. There are some cases in which you are given a Linux computer for work which is not connected to the internet and you can not download anything on it. You have 2 choices vim or Emacs. This is the reason why I only use vim, why bother learning a new tool if I will never be able to use it in my work environment? I also avoid vim plugins for this reason. I know this is a very specific example but it happens.
Multi-decade vim user here: Would definitely choose emacs in that situation. Vimscript (or even Lua) just doesn't cut it for automating text-based tooling. Emacs' library is also significantly larger to pilfer from. To be clear, I switched to vim as a combination of both emacs-pinky and vi being more ubiquitous.
I'm always going to support a FOSS alternative so fuck Microshit .. Emacs, Vim or whatever new FOSS program is out there I'll support it!
VSCode is FOSS. There is an OSS version that you can download and it comes with no proprietary components.
Would you please share something? Using screen for the first time was a sort of religious experience for me. I realized that with screen I would never be limited again. Knowing that made me suddenly obsessed with having IT as a career. I try to bring as many as I can to screen as possible. I never run vim unless I'm in screen. Tmux is just a bsd rewrite of screen.
My objection is that people really shouldn't be trained on Emacs. That weeds out an entire group of people who don't like to memorize a bunch of command shortcuts.
If you come upon Emacs later and enjoy it, that's your business. The first IDEs people use should be measured by how often beginning users become intermediate users. After that, they should also be able to use the same environment professionally as well, predictably, for at least seven years.
Emacs, however, really slows down some people who are quite capable in a GUI.
Counterpoint: When I started programming they gave me Eclipse. All the integrations and thingies made it hard for me to even understand what happened when I pressed the "Run" button. If they instead would have started me out with a terminal and let me run the compile and run commands myself it would have been much clearer what was actually happening. Removing a student from what is actually happening usually imo just confuses more than it helps. So I disagree with you when it comes to IDEs. Give them a text editor, a terminal and a compiler and let them work up from that. No confusion. Simple building blocks.
That said, VS Code is a perfectly fine editor. Doesn't add too much confusion while still creating an easy-to-understand GUI. I can buy that emacs/vim is not what you should start with. You can learn about those when you (if you ever have to) log into some weird server with nothing on it and have to edit a file there.
@@Olodus Interesting...Maybe there is a way to pre-test students and classify them so we can better understand their learning process, then send some in one direction and some in another? The attrition rate of students who intend to do CS but don't make it is too high. Development environment is just one aspect, but individualized learning could help in a variety of ways.
@@stevengreidinger8295 True. Sorry might have been a bit hasty there. Thinking a bit more on the topic I could definitely see some preferring to approach the topic from a more creative view-point where building from the bottom up is not preferred. For example, you could give a student a generative-art design editor (some UI-based Processing frontend or something like that), or a Scratch-like/Unreal flow graph language and learn the coding on a high level while creating cool stuff as you go.
Hopefully at the end both approaches would reach the same goal, as I think a deep understanding of the tools we use greatly strengthen us as developers.
I mostly stand for my original statement though, lots of IDE's add on unnecessary abstraction and complexity. If you want to use an IDE I would say you should look for one where by removing the need to handle some parts of the pipeline it lets you focus on the problem/creation in a clearer way. It shouldn't hide things for you just because.
@@Olodus Those are interesting ideas for teaching visual thinkers. You're also correct that IDEs can have far too much going on. Just because you have a GUI doesn't mean you're easy to use. Maybe some software should have a stripped-down mode and use predictive analytics to show only features the user has above a 1% chance of deploying in a given session.
Any editor is a good editor as long as its name is VIM 🙂
I've learnt vim already, so Vim is best 😏. Anyways, your problem solving skills matter more than Editor skills.
That's really the "thought" process of most here: "I happen to be using that... therefore it is the best and the rest are objectively inferior programs."
At least you're honest about your complete and uninformed subjectivity - unlike them all.
I do like to adapt and applie very hard with so much mist around
Emacs is definitely not better than vim. I don't think vim is better than Emacs either but to say emacs is better than vim / neovim is just crazy nowadays.
As all lifeforms gradually evolve into crabs (Carcinisation), all editors gradually evolve into emacs..
I'm an old fart, and I can't wrap my head around why people still use vim or emacs. They must do something I don't know about, something that modern IDEs can't do, but I have no clue what that might be.
neovim is fast, runs in my terminal, highly customizable and the keybinds are awesome.
Why most of the prolific programmers use Emacs or Vim? Most fantastic programmers I already had the opportunity to meet them use Emacs and a few other use vim or whatever.
It's a funny anecdotal. A use emacs for the last 7 years.
It's because emacs and vim are still the superior text editing tools when used with just a small amount of their potential by a touch typist. Programming is editing code and prolific coders don't mind the extra config to add features they want on top of the already superior text editing utilities of these two editors. When programming is accomplished by means other than editing text or some editor comes along with better raw text editing power than vim/emacs other tools make sense. "X editor is popular with the new generation of programmers these days" is a terrible reason to use an editor. Around 50% of programmers are below average programmers. A bunch of programmers using some software doesn't mean much.
@@johnlandrum1106 that's a good reasoning. I agree with you
Spacemacs is just an opinionated emacs setup. It's alright -- cute like many others.
Use whatever editor you want to use as long as it's VIM.
I always thought I'd like to try straight vi. I refuse to, until they release version 7. 😉😁
EMACS will outlive humans.
i dont want to customize stuff and spend my golden hours of personal time - I need to get stuff done: VsCodium & Sublime way to go
idk man, I think vscode defaults suck, I'd much rather use Doom Emacs or a nvim "distro", but customizing can also be really fun
@@DamianS78 if the fun for you is dicking with editor rather than writing reasonable code which brings $$$ then you are worthless
vscode really is the way to be these days
If you want to be forced to closed VS Code everytime you change another file.
@@MarquisDeSang I don't even know what that means
@@takeiteasyeh It means that if I modify a .ts, the .vue will not detect anything and will show me errors thate are not there. So all day long we have to close and reopen VS Code after every changes. Also VS Code will sometimes fail to save with conficts even if only 1 instance of the file is opened on that computer (not git stuff here). So in my experience, it is the most broken text editor. It will open files that were not saved from memory instead of from the ssd, that is a stupid idea.
@@MarquisDeSang Look like vue problem lol
cappuccino lazyvim config with 60% transparent bg, with telescope, harpoon, a riced tmux and obsidian.nvim (and others) plugins is just a *muah* workflow
Pulsar is better than vscode it just need year to polish
DOOM emacs is the way. Forget about spacemacs.
I went from VsCode to Neovim because intellisense sucks and LSP is faster for some reason in NV
Messi vs Ronaldo already has a clear (world cup) winner
Neovim for life
Using VSCode is not a real challenge tho
You should try Neovim
Didn't know Coffee was based like that
Anyone that mentions spacemacs or doom hasn’t even touched ielm 🤔
emacs and vim will be around forever. I cannot imagine another terminal-based editor rising above emacs and vim, the space is just too niche. As niche as it is though, it will always be required to exist.
I'll give you an apple for every enterprise server you find with a DE installed on it lmao. People need to configure things on servers and 9 times out of 10 they'll be working through a terminal
seems like lex doesn't know about the new modern text editor, Neovim(fork of vim).
Can someone explain to me why they discussed emacs, vim, and vs code?
they just did because they wanted to. why shouldnt they?
You can emulate vim and emacs in vscode.
That's funny. You haven't a prayer of "emulating Emacs" in VScode. You're off your rocker :-D
According to the stack overflow survey:
Emacs is already dead. Sitting at #20, with just 4% marketshare. Even less for new developers.
vim is hanging in there at #5, with 23% marketshare. Also trending down with new developers.
By a wide margin, the current leader is VS Code, with a 74% market share and still growing.
True, but ultimately it doesn't matter. Emacs is being developed by a bunch of fanatics (in a positive way), who will keep using and developing it forever. Same with vim. I am one of those vim fanatics and I can tell you that you can get it to the same level as vscode. Especially when it comes to intellisense. The only thing it may be lacking a bit are those cloud plugins. But there are still neat solutions available. And i find writing shell scripts to interact with cloud services way more efficient anyway
I'm pretty sure that emacs will outlive vs code.
@@DanielMircea it's already dead
@@paulpach it's not quite dead. Yes it's community is small compared to vscode. But the people in this community have an incredibly deep knowledge of emacs and plugin development for it. There are very few things you can do in vscode that you can't in emacs. It will most likely outlive vscode. And probably all of us as well. Same goes for vim or some future fork of it.
@@mario7501 by that logic no software is ever dead as long as there is 1 user still using it.
Sure, it may have knowledgeable users, but so does every other IDE.
With an already insignificant user base that shrinks further every day, it is as dead as software gets.
I only engage in writing, I don't code, so I'm a heathen Obsidian user 😅
@lex Clips Tabs or space and why?
Sorry noob question... But where does Jupyter notebook and the desktop application of it (Jupyter lab) stand in this conversation?
It is just not that great in my opinion. The concept of notebooks is cool for prototyping and exploratory analysis, but I'd never us a notebook in production. But if you like them for prototyping, I can recommend the Jupyter VS code plugin! There are also options for vim, but they are not as neat since vim is terminal based
I see. Ok this is strictly a production environment conversation. As opposed to building a model and predicting and sharing results with the team
WHERE MY VIM GANG AT!? LETS GET LEX!!!!
I only use nano/emacs/vim (for me nano) when I have to edit something within a linux box. If I have the option of using VS Code, I always will. It just seems pointless to me, to not use all the amazing tools of vs code
Almost anything you can do in VSCode you can do in vim/neovim with plugins, though.
@@rkulla thats cool, but vs code is way simpler to use
@@joshb7415 and McDonald's drive-thru's are way simpler than cooking quality meals for yourself.
@@rkulla cool but I don't get paid to go through McDonalds drive throughs :)
@@joshb7415 Sure, i'm just saying that it can be worth investing in something more difficult sometimes but there are pros/cons to everything.
Jokes aside, emacs is a full on lisp machine with an editor in it.
Vimscript is touring complete
I lIke vim but its comletly new to me.
Messi is better than Ronaldo ..
That’s like saying “ Jupiter is bigger than Earth “ .. what was wrong with it ?
Ronaldo is human .. Messi is from another world .. there can’t be any comparison..
What's coffee doing here?
I use kate editor
Emacs is indeed better
I use Intellj.