Tried Zed and I did like the out of the box experience quite a bit. I think the thing it had going for it the most was the fact that when you first load up, it asks you what your previous editor was and just gives you the keyboard shortcuts you’re already familiar with. Really great until you hit that unsupported feature that you regularly lean on in your previous editor. For me I hit that on like day 5 and thought to try adding it to the editor myself. I tried building from source and figuring out how to hack on it which I figured I’m smart enough to do because I’ve built plugins for neovim, atom, sublime, vscode… I wound up struggling on this one. After like 4 days of just trying to get multi-cursor search working the way it does in sublime I just had to give up. I’m glad a 100x programmer is working on Zed because the state it was in when I tried it made me feel really powerless to do anything remotely custom. Maybe when the actually smart people get the plugin system refined (or I suddenly get significantly better at Rust) I’ll give it another go. (Also yes skill issue etc etc)
Reading that article reminded me why I like vim/nvim, I've been using this piece of software for nearly 5 years now and yeah, nothing could've prepared me for what that article did with cgn. Vim never lets me down (or gives me up)
One useful thing mentioned there is searching for something (or * on current word and go back with N), then do cgn to change it. Then esc and then repeat on next mach by pressing . (dot) as many times as needed. The amount of dots we press is the same as the amount of key presses or mouse clicks that are needed with multi cursors
You don't need. But, for a lot of tasks, it is slower to use any of the tricks described in that article than using multicursors.. Specially if you consider how powerful multicursors become when you have access to vimmotions. There's a reason why they are on the roadmap for neovim nowadays.
@SergiobgEngineer Well, I agree that multi cursors are powerful, and with vim motions will be even more powerful. Actually, the reason I came across that article was because I switched to neovim and was missing my multi cursors. It will be fun to have them back, but now I'm fine without them
'Need' in the sense of 'dealbreaker' or 'nice to have'? Macros are a good alternative in lots of cases, but surely you aren't making the case that multi-cursors are useless in all cases?
@@Nurdoidz For me the multicursor is a feature that I've maybe found handy once in every 10 years of my career (last time was editing some CSV file which usually is a red flag in itself). Maybe some people actually use multicursor, I just haven't seen such use case myself which would grant it to be actually useful feature.
@@Thundechile I see. Have you not seen other people utilize it well or is just in your experience? Since I use Neovim, most of the time macros do it for me, especially assigning them to semantic registers. However, multicursors have the advantage of seeing the result of each step. Often I run a macro and have to redo it because a few lines got messed up. Is there an easier way to account for that? A multicursor would be a helpful seldom tool.
7:40 Maria on the latest neoconf is a visual studio code dev and uses neovim 😂 I think one of the reasons was to have a easier workflow due to having to build vscode.
I guess that does make sense now that you mention it. VSCode is for a different audience of developers than neovim. She may just be in the nvim audience and uses it even though she works for vs code. The main problem with not using it 100% of the time is that you don't learn to relate to the end-user experience. That's possibly the single biggest thing for delivering a product. However, I guess if enough other devs working there do use vs code, and maybe her specific dev role doesn't have so much proximity to the end user features, then it could be ok.
Are many people here consider "multi-cursor, multi-buffer, multi-selection" a killing feature to switch your editor? For me it's just a different way to do bulk edits. I would rather macro/grep it instead.
I tried to explain Emacs keyboard macros to somebody before and they said "oh yeah that's like multiple cursors", and I guess I'm not great at explaining, because I could not get them to understand the difference
*_"For me it's just a different way to to bulk edits. I would rather macro/grep it instead."_* Then you're failing to understand the difference. Multi-cursors and macros don't replace each other. Macros are essentially pre-recorded actions that you can invoke again and again for a specific task. Multi-cursors require little to no setup or thought, and are immediate selections for immediate multi editing. Macros require setting up, multi-cursors don't. At most you may prefer using the "find" feature to multi-select, whenever the amount of occurrences are too many, but that's about it. Setting up macros for one-off multi-edits is usually a waste of time. Multi-selecting and just typing some new text is just immediate. Multi-cursors are also not limited to similar text, you can select different occurrences of text with your mouse, and edit them, or copy/paste, etc, which is often useful. And no, the mouse is not an enemy of productivity. I guarantee you that if you actually use multi-cursors for a little while, you'll never want to let go of them (assuming your editor of choice does multi-cursors properly). They are one of the main reasons why I could never let go of Sublime for Vim or NeoVim. And one of the main reasons I don't take the Vim hype seriously.
@@skaruts I guess I don't really have usecases for multi-cursor edit... It is either covered by LSP's rename, search-replace or too complicated and requires a macro.
@@ivanjermakov I seriously don't think you understand multi-cursors, if you think you don't have use cases for them. They're not for replacing text, they're for simultaneous multi-editing. You can use them to replace text, but that's just one measly use case (which is often still be more handy than F&R or macros). If you use an editor with multi-cursors, I guarantee you'll eventually find yourself using them constantly, because they're not something that is only occasionally useful, they are very much part of your everyday regular text editing.
@@jasondoe2596 Yes. It seems to be quite interesting. There are not many terminal-based editors that I find interesting apart from vim/nvim and emacs. Helix is probably the third one. Is there anything else? I guess none in the competition.
As a web developer, Zed made coding fun and 'supafast.' It's also is aesthetically pleasing and this was what made me try in the first place, I missed the beauty of Atom but surely not the speed, now you get the best of both worlds. Yes there are some basic things not working properly still, the plugin system have to improve but I think they are doing an amazing job.
I don't know all the ins and outs of vim, I just use motions and macros. That search and replace thing looked like a classical Linux user meme. "Look we can do this thing by just doing *thousand keys smashing*" when it's like one button in other IDEs. Replacement across files? While not exactly the same, refactor->rename will do the trick in most cases. Simply hit F2 in vscode. It seems that Vim and Zed are inferior for most multi file changes.
It's just a different workflow. Using QuickFix is a very common thing a lot of us do, then you can use :cdo to run a command or macro on all the entries in your QF window (:cfdo if you only want to run it once per file). Commands that you do anyway so it's nothing too crazy. I understand that it seems counter-intuitive but it's like programming in Go and expecting to write it like you write TS. It's just a different paradigm and way of doing things. Besides, it's also about having fun and mastering one's tool.
Hell, even if you don't use the quickfix list, neovim already has renaming using lsp. If you configured lsp correctly you can also do the same thing with a simple keymap.
My editor journey: vi -> vim -> neovim -> vim -> helix So far, I'm quite happy with helix. It has multi-cursors, jump lists, searches, vim motions, themes, builtin lsp, etc. Cross plaform.
@@艾曦-e4gyou could make your own harpoon very easily, it does a lot less. Not to take away from Harpoon (I use it) but I had my own version of it where I would “mark” a file with a “MarkFile” command and “UnmarkFile” to pop it off a list.
I wouldn't bet on it. Linux devs already have vim and NeoVim and will continue to use it for the foreseeable future. Being able to customize your editor is not something that people want to give up, so if your editor isn't as flexible as the existing competitors, you can pretty much give up already.
@@ewomer100 Why do you immediately jump to that "Mac fanboy" thing? Seems reasonable to me to do first developments on pretty much anything on a single platform, you know the one you happen to use. Then if the idea takes off migrate to other platforms. Nothing particularly fanboy about it.
In the end, Zed is a company product, and it will be shaped by that company, kinda like Microsoft shapes VS Code. The people who use Neovim or Vim love it because it's based on community ideas and Neovim is the result of the community taking over the Vim project because they see things differently than the original maintainer... So I think this is a bad comparison - Neovim has different goals and VS Code vs Zed is a better match because they are both open source company products. That's also why I think Zed will never be as hackable as Vim.
It’s kinda odd because looking at Zed the MAIN thing seems to be the “shared workspace” ..it’s like Google Docs but a code editor.. share screen, edit together, voice/text chat, all from one app. Idk how useful this would really be tho.. it’s definitely not a good enough reason to give up Vim’s customized experience imo 🤷♂️
i have found myself doing what prime describes at 18:00 where i try to use a lang like another lang a few times. it's hard not to; you learn new ideas through comparing,constructing,contrasting against old ideas, and it's so easy to want to use a new tool like an old tool, and get disappointed that your new tool doesn't work the way the old tool does. this is somewhat inherent in learning, you can't just learn something in a vacuum, you have to build new knowledge out of old knowledge.
I use intellij aat work and when using vscode at home I now think vscode sucks. Probably unpopular but I only use regular Vim with or NVIM with C, C++, but if you're coding Java, python, JavaScript Webstorm, Pycharm, etc are SO good! I should say I don't have NVIM configured, I used Vim in college so I like it for some things.
Exactly, I've used IntelliJ idea for a decade now and every time I'm watching or reading sth about how amazing vim is, I can never get over the feeling that I have it so much better and easier in my IDE
I love how VSCode + JavaScript fans and Linux + holy C + Vim preachers dislike this project just because it was built for mac first because IT WAS THE NEAREST PLATFORM THAT THE DEVELOPMENT TEAM HAD... Just let new technologies to enter the chat and consider adopting them if those projects are promising. Do not base your opinion on how used are you to your favorite tech without even giving a try. That's the way that companies maintaining COBOL programs think...
The founders signed off on his list when they hired him. If their directions are parallel, they'll continue for until they diverge far enough. For the time, his overlap with us is what's important.
I’m missing something here, in that I heard him say he does variable rename, with a giant text search over a project in VIM? What if multiple different variables/properties have the same name in different objects? Most editors use code navigation to find references when doing a variable rename. The fact that this text search is being touted as a major feature of a new editor is mind boggling.
That's great. Watching videos like this is like ppl watching videos of supercars in use by the 1%. I am absolutely certain, I will not be able to use it on my work laptop limited by my company policies and IT police. And i have a feeling I'm not the only person in this situation. No, I'm not a 100x engineer.
I mean, it’s a fundamentally different tool given how bulky it is, but IntelliJ has all of this. I think that was an assumed point that was disregarded because if you’re someone interested in vim, eMacs, or zed, you want something ultra performant.
I was absolutely called out near the end lol. I recently picked up go to contribute to an open source project and the first issue I had with the language is that it did not have ANY sum types lol. Coming from Rust, I had a hundred Rusty ways to solve the problems with Options, Results, Sum types, iterators, higher order functions and other functional ideas. Really had to give it a couple of days before I began to properly use Go lol. I love its simplicity though. I could read the source right away without any issue, never having read a line of Go in my life prior. Compared to Rust, where I couldn't (and still in some code bases can't) understand the code without spending hours deciphering what is going on there XD. Love both Rust and Go though.
TIL gq in Visual Mode and :s/../../gc did not expect that from the video! Also, there is a Plugin for multi cursors in vim, I think it's called vim-visual-multi. I use it all the time, it is so much more convenient than macros
If Zed can become so hackable that it can replace Vim and JetBrains for me, I'll happily switch and even contribute to it. Before anyone says something, JetBrains IDEs have refactoring tools that no LSP currently provides, plus a whole lot of other things that could be like fully fledged single products: Git integration, Database integration, AI built in (powering it's intellisense), etc.
I agree I use CLion only for refactoring, because there is nothing quite like it. But apart from refactoring it's not a good text editor imo, but the IDE features are truly amazing
Zed is pretty good, but it isn't quit there yet IMO. It's also a bit unsetteling, to give up so much control coming from NeoVim. Zed's Documentation is lackluster, so fully configuring it is also kind of difficult. Most of my configuration knowledge comes more from their GitHubs Issues section. With 1.7K reported issues, I don't think it is ready for primetime yet either. From a pure usability point, it is not better or worse, than a fully configured NeoVim. It is just different. With different Quirks and concessions to make on both sides.
I personally use multi-cursor so rarely that between events, I forget the keystrokes :D I don't need it, it is just slightly convenient on a rare occasion.
Vim mode on vscode has never worked with multi cursors for me personally. I don't know if I'm doing it wrong but the vscode vim mode is also far less configurable and often times feels like it's getting in the way with how it conflicts with vscode utils. Maybe Zed's better at this
You gotta take the time to enable that extension that shows you what keys you've pressed. I would liked to know what keys you pressed to get to that quickfix list
I kinda find I don't really have muscle memory or shortcut memory. Whichever work PC I'm on I just carry a portable np++ with me. It's a quiet life. Edit: the final point really resonates with me tho. Sometimes you do need to change your way of thinking when using a new tool. You often see this 'ew it doesn't have static types', 'ew significant whitespace' etc.
So neovim has functions which you can search for but in intel, code you can search an action by its descriptive text, which a non english master might miss.
I have tried to use editors with vim motions like vscode, jetbrains, zed, whatever and none of them allow :%norm commands which I use multiple times every day and can't live without.
I am kind of curious whether the author of the article is aware of Vis. It is basically a "suckless" Neovim, that also features multi-selection multicursor by default. In addition it features the ridiculously powerful structural regular explression of the Sam editor (by Rob Pike). It neatly integrates the structural regexp with the multi-selection, multi-cursor. If there is something I would ditch Neovim for then it would be Vis. My only problem with it is it still only supports POSIX system, and its plugin ecosystem is not as mature as Neovim's.
One thing we can probably all agree with: Zed is x99 times better than VSCode! It lacks additional x1 to be x100, only because some extensions might be lacking on Zed, that are present on VSCode.
*And of course, it's macOS only, but I use multiple computers, including both macos and windows, and sometimes linux, so I actually would like to see Zed on all three platforms. And among one of the most wished features that I miss in Zed, is «Zed Remote», so I could install Zed on server and attach my local UI to serverside Zed via SSH. It's so fast though, I love Zed.
moving to neovim or modal editing in vs code was on my road map but Zed changed things. I'm very slow at typing but he editor experience is vastly better in Zed than vs code.
6:50 Multi-cursor: I don't think multi cursor is just playing macros at the same time. Because nothing plays at the same time at all. If any macro changes the content of the buffer, then the next macro on the other cursor might work on a different buffer, that changed the entire content.
> No plugin support Thats litterary in the works and will be implemented through webassembly > No linux support Also in the works atm, if you read the fucking website you'd know
No, I will not read the fucking website, hype boy. But you can get back to me here when there is Linux support and a plugin system. See you in 5 years.
So one year later or so (not the primeagen video but going open source) they got Linux support which shouldn’t have been a big issue in the first place. So my joke about 5 years could be still prophetic regarding the plugin system (which is a 100 times more complex feature that has to be build right at the beginning and not when 1 million line of codes have been written) with that enthusiasm. If at all. I’m not sure it’s in their interest to have a solid plugin system at all. It should have been done right away.
Early in the morning I prefer my spouky wucky to have spinky winky you know? In that way I can get my spaudipaudi.That enables me to make the special whou whou whou
[Comparing other languages like Go to other languages like Rust] I think we can all agree though, JS needs to go. It's not a good language. It's an adequate language. It got there first, did its job, and nobody has the impetus to change it. There are some things that JS does that are interesting, but there are so many things it does which are a pain in the ass (and many more that it doesn't do which makes things more painful) which ANY other language does. Python would be a solid replacement, if only because it has a solid async library as well and "isn't multithreaded" just like JS but has a far more inclusive base language. I'm not as familiar with Rust, but if there's a Vue/React/Angular equivalent (looks like there's Yew and egui?), hopefully we can decide as a community that we're better off switching to a decent language that treats us well and has proper tools?
All of these features exist on VS Code and are way better for now! He surely never used VS Code because most of the key binds are the same Zed is way worse than VS Code in so many ways, it's not even fair to compare them I tried a lot of solutions, but Vim motions(+ vim extensions) + VS Code is the way to go Even tho Zed is built with Rust, it's way slower than VS Code. Maybe they can make it good, but it will be very difficult to compete with VS Code, he needs to be outstanding to give people a reason to switch, not just good enough or OK, It needs to be WOW
Hmm, I still don't understand what is the "new" thing he refers to. To me the editor just have to be not in the way and help my everyday tasks and inform me without spamming.
So, did I miss why this guy switched? Was the guy comparing vanilla experiences? If the multi-buffer thing can be done as part of COC, then did the author not know? He says that he was interested, and tempted by what was new. But the article doesn't actually list anything that's new. It's about as devoid of actual content as a chatgpt response.
the entire intro to this is just "do not cite the deep magic to me Witch. I was there when it was written."
And some people will still say he doesn't have the creds to be talking about anything. The internet is a magical place.
@@chrishoppner150 I bet people who say those things are VS Code + JavaScript "magicians".
@@chrishoppner150 just a lot of witches and not a lot of Aslan’s? ¯\_(ツ)_/¯
Multicursors are on the neovim roadmap for 0.11
Nice!
Great news, I still find vim multicursors plugin is not robust enough
Majority of the time, visual select and replacing or using a macro just works
@@blessdarah1256 It works but most of the times it is also slower than just typing viWC-L and doing the thing you want to do.
@@blessdarah1256exactly I always tend to format my code so i can use visual select and replace multiple lines
Tried Zed and I did like the out of the box experience quite a bit. I think the thing it had going for it the most was the fact that when you first load up, it asks you what your previous editor was and just gives you the keyboard shortcuts you’re already familiar with. Really great until you hit that unsupported feature that you regularly lean on in your previous editor.
For me I hit that on like day 5 and thought to try adding it to the editor myself. I tried building from source and figuring out how to hack on it which I figured I’m smart enough to do because I’ve built plugins for neovim, atom, sublime, vscode… I wound up struggling on this one. After like 4 days of just trying to get multi-cursor search working the way it does in sublime I just had to give up. I’m glad a 100x programmer is working on Zed because the state it was in when I tried it made me feel really powerless to do anything remotely custom. Maybe when the actually smart people get the plugin system refined (or I suddenly get significantly better at Rust) I’ll give it another go.
(Also yes skill issue etc etc)
Caught the creator of Zed Nathan Sobo on Changlog not to long ago. It was an interesting episode. Zed is a neat concept.
I am disappointed that his first name is Nathan and not Zed
@@deadbeef576it's not an editor, it's a chopper
-Whose motorcycle is it?
-It's Zed's
-Who is Zed?
-Zed is dead, baby. Zed is dead.
..vroooooom
It's not a motorcycle, it's chopper
What a banger quote
@@phoenix-tt ah forgot this one :*(
it's a chopper, baby
Whose*
There's an article by Christoph Hermann titled "You don’t need more than one cursor in vim". It completely convinced me I don't need them on vim
Reading that article reminded me why I like vim/nvim, I've been using this piece of software for nearly 5 years now and yeah, nothing could've prepared me for what that article did with cgn. Vim never lets me down (or gives me up)
I need to read that article
One useful thing mentioned there is searching for something (or * on current word and go back with N), then do cgn to change it. Then esc and then repeat on next mach by pressing . (dot) as many times as needed.
The amount of dots we press is the same as the amount of key presses or mouse clicks that are needed with multi cursors
You don't need. But, for a lot of tasks, it is slower to use any of the tricks described in that article than using multicursors.. Specially if you consider how powerful multicursors become when you have access to vimmotions. There's a reason why they are on the roadmap for neovim nowadays.
@SergiobgEngineer Well, I agree that multi cursors are powerful, and with vim motions will be even more powerful. Actually, the reason I came across that article was because I switched to neovim and was missing my multi cursors. It will be fun to have them back, but now I'm fine without them
It being mac first is a deal breaker.
Its also a GUI text editor instead of CLI.
Kind of a weird deal breaker when they're in the process of migrating it after they got a working concept in the easiest place to build it.
Yep .. basically useless 🫣
@@michrisoft will be a deal breaker until that finished
@@michrisoft Mac isn't the easiest place to build at all, it does make sense from other perspectives though.
Zed is temporally. Vim is eternal.
Vim is eternal until someone makes a neoneovim
NeoZed gonna come anytime
Nah real chads use Vi 🗿
I think at this point Zed might become eternal. On large codebases shit its fast. And i have managed to port many things that i do on neovim to zed.
I hate Mac OS and Apple shenanigans but I adore apps made for Mac OS. Arc Browser, Raycast, Zed. They are so good!
I love Raycast.
“Change All Occurrences” was a game changer. It’s what sold me on VS Code back in the day and it has become a non-optional feature for me.
I've never understood the need for multicursors.
'Need' in the sense of 'dealbreaker' or 'nice to have'? Macros are a good alternative in lots of cases, but surely you aren't making the case that multi-cursors are useless in all cases?
@@Nurdoidz For me the multicursor is a feature that I've maybe found handy once in every 10 years of my career (last time was editing some CSV file which usually is a red flag in itself). Maybe some people actually use multicursor, I just haven't seen such use case myself which would grant it to be actually useful feature.
@@Thundechile I see. Have you not seen other people utilize it well or is just in your experience?
Since I use Neovim, most of the time macros do it for me, especially assigning them to semantic registers. However, multicursors have the advantage of seeing the result of each step. Often I run a macro and have to redo it because a few lines got messed up.
Is there an easier way to account for that? A multicursor would be a helpful seldom tool.
Doesnt mean we shouldnt have it
Me neither. They combine rectangular selections, regex substitutions and macros, which is nice, but no thanks.
7:40 Maria on the latest neoconf is a visual studio code dev and uses neovim 😂 I think one of the reasons was to have a easier workflow due to having to build vscode.
I guess that does make sense now that you mention it. VSCode is for a different audience of developers than neovim. She may just be in the nvim audience and uses it even though she works for vs code.
The main problem with not using it 100% of the time is that you don't learn to relate to the end-user experience. That's possibly the single biggest thing for delivering a product. However, I guess if enough other devs working there do use vs code, and maybe her specific dev role doesn't have so much proximity to the end user features, then it could be ok.
Are many people here consider "multi-cursor, multi-buffer, multi-selection" a killing feature to switch your editor? For me it's just a different way to do bulk edits. I would rather macro/grep it instead.
I tried to explain Emacs keyboard macros to somebody before and they said "oh yeah that's like multiple cursors", and I guess I'm not great at explaining, because I could not get them to understand the difference
Multi cursor being a first class citizen was what got me excited about helix
*_"For me it's just a different way to to bulk edits. I would rather macro/grep it instead."_*
Then you're failing to understand the difference. Multi-cursors and macros don't replace each other. Macros are essentially pre-recorded actions that you can invoke again and again for a specific task. Multi-cursors require little to no setup or thought, and are immediate selections for immediate multi editing.
Macros require setting up, multi-cursors don't. At most you may prefer using the "find" feature to multi-select, whenever the amount of occurrences are too many, but that's about it. Setting up macros for one-off multi-edits is usually a waste of time. Multi-selecting and just typing some new text is just immediate.
Multi-cursors are also not limited to similar text, you can select different occurrences of text with your mouse, and edit them, or copy/paste, etc, which is often useful. And no, the mouse is not an enemy of productivity.
I guarantee you that if you actually use multi-cursors for a little while, you'll never want to let go of them (assuming your editor of choice does multi-cursors properly). They are one of the main reasons why I could never let go of Sublime for Vim or NeoVim. And one of the main reasons I don't take the Vim hype seriously.
@@skaruts I guess I don't really have usecases for multi-cursor edit... It is either covered by LSP's rename, search-replace or too complicated and requires a macro.
@@ivanjermakov I seriously don't think you understand multi-cursors, if you think you don't have use cases for them. They're not for replacing text, they're for simultaneous multi-editing. You can use them to replace text, but that's just one measly use case (which is often still be more handy than F&R or macros).
If you use an editor with multi-cursors, I guarantee you'll eventually find yourself using them constantly, because they're not something that is only occasionally useful, they are very much part of your everyday regular text editing.
vim is like the King James Bible of text editors - it has achieved that manner of timeless immortality
Multi cursors are why I switched from vim to helix.
Helix is so good, why no Copilot, why no native shell for your OS?
How often do you use this feature? And why?
Helix is awesome.
@@jasondoe2596 Yes. It seems to be quite interesting. There are not many terminal-based editors that I find interesting apart from vim/nvim and emacs. Helix is probably the third one. Is there anything else? I guess none in the competition.
@@jasondoe2596 Yeah that's true but when you're deep into Vim/Neovim, it just doesn't work for me.
As a web developer, Zed made coding fun and 'supafast.' It's also is aesthetically pleasing and this was what made me try in the first place, I missed the beauty of Atom but surely not the speed, now you get the best of both worlds. Yes there are some basic things not working properly still, the plugin system have to improve but I think they are doing an amazing job.
If you want fast just use Neovim, it's much faster than Zed
"I do not even have node on my system" Based
I don't know all the ins and outs of vim, I just use motions and macros. That search and replace thing looked like a classical Linux user meme. "Look we can do this thing by just doing *thousand keys smashing*" when it's like one button in other IDEs. Replacement across files? While not exactly the same, refactor->rename will do the trick in most cases. Simply hit F2 in vscode. It seems that Vim and Zed are inferior for most multi file changes.
It's just a different workflow.
Using QuickFix is a very common thing a lot of us do, then you can use :cdo to run a command or macro on all the entries in your QF window (:cfdo if you only want to run it once per file).
Commands that you do anyway so it's nothing too crazy.
I understand that it seems counter-intuitive but it's like programming in Go and expecting to write it like you write TS.
It's just a different paradigm and way of doing things.
Besides, it's also about having fun and mastering one's tool.
Hell, even if you don't use the quickfix list, neovim already has renaming using lsp. If you configured lsp correctly you can also do the same thing with a simple keymap.
My editor journey: vi -> vim -> neovim -> vim -> helix
So far, I'm quite happy with helix. It has multi-cursors, jump lists, searches, vim motions, themes, builtin lsp, etc. Cross plaform.
Where do you feel the flow better neovim or helix?
@@zeitiv helix currently. Good luck!
If TJ brings telescope to Zed I'm sold! 😅
And prime brings harpoon!
@@艾曦-e4gyou could make your own harpoon very easily, it does a lot less. Not to take away from Harpoon (I use it) but I had my own version of it where I would “mark” a file with a “MarkFile” command and “UnmarkFile” to pop it off a list.
And my axe!
And my bow!
And my Mason
I can't wait Zed till it comes to Linux
I can, not interested in Mac fanboy projects.
@@ewomer100 cringe
I wouldn't bet on it. Linux devs already have vim and NeoVim and will continue to use it for the foreseeable future. Being able to customize your editor is not something that people want to give up, so if your editor isn't as flexible as the existing competitors, you can pretty much give up already.
@@ewomer100 Why do you immediately jump to that "Mac fanboy" thing? Seems reasonable to me to do first developments on pretty much anything on a single platform, you know the one you happen to use. Then if the idea takes off migrate to other platforms. Nothing particularly fanboy about it.
@@ewomer100 it's not like I have also avoided things because of such reasons, but it is indeed cringe.
Damn, I was just emailing him yesterday regarding one of his books, today you cover one of his articles. He's an incredible developer
In the end, Zed is a company product, and it will be shaped by that company, kinda like Microsoft shapes VS Code.
The people who use Neovim or Vim love it because it's based on community ideas and Neovim is the result of the community taking over the Vim project because they see things differently than the original maintainer...
So I think this is a bad comparison - Neovim has different goals and VS Code vs Zed is a better match because they are both open source company products.
That's also why I think Zed will never be as hackable as Vim.
13:30 I think neovim 0.10 currently does inline inlay hints if I'm not mistaken
Yeah :)
It’s kinda odd because looking at Zed the MAIN thing seems to be the “shared workspace” ..it’s like Google Docs but a code editor.. share screen, edit together, voice/text chat, all from one app. Idk how useful this would really be tho.. it’s definitely not a good enough reason to give up Vim’s customized experience imo 🤷♂️
i have found myself doing what prime describes at 18:00 where i try to use a lang like another lang a few times. it's hard not to; you learn new ideas through comparing,constructing,contrasting against old ideas, and it's so easy to want to use a new tool like an old tool, and get disappointed that your new tool doesn't work the way the old tool does. this is somewhat inherent in learning, you can't just learn something in a vacuum, you have to build new knowledge out of old knowledge.
I do multicursor for simple stuff and macros for complex stuff. And I use vscode with vim motions . Works like a charm
I use intellij aat work and when using vscode at home I now think vscode sucks.
Probably unpopular but I only use regular Vim with or NVIM with C, C++, but if you're coding Java, python, JavaScript Webstorm, Pycharm, etc are SO good!
I should say I don't have NVIM configured, I used Vim in college so I like it for some things.
Exactly, I've used IntelliJ idea for a decade now and every time I'm watching or reading sth about how amazing vim is, I can never get over the feeling that I have it so much better and easier in my IDE
I love how VSCode + JavaScript fans and Linux + holy C + Vim preachers dislike this project just because it was built for mac first because IT WAS THE NEAREST PLATFORM THAT THE DEVELOPMENT TEAM HAD...
Just let new technologies to enter the chat and consider adopting them if those projects are promising. Do not base your opinion on how used are you to your favorite tech without even giving a try. That's the way that companies maintaining COBOL programs think...
multicursor on sublime since era of mammoths and also has vim bindings as extension
The founders signed off on his list when they hired him. If their directions are parallel, they'll continue for until they diverge far enough.
For the time, his overlap with us is what's important.
The longer I listen to this article, the weaker and poorer of a Vim user I discovered myself to be.
I'm glad I kept watching to 5:20 before commenting "you know Emacs has had this for years..." 😂
Tom is a genius
I’m missing something here, in that I heard him say he does variable rename, with a giant text search over a project in VIM? What if multiple different variables/properties have the same name in different objects? Most editors use code navigation to find references when doing a variable rename.
The fact that this text search is being touted as a major feature of a new editor is mind boggling.
i don't know man, i just use emacs
I never comment but there are 0 comments at the moment, so first.
There's 0 replies?
First
Cringiolla
12th!
Why don't you ever comment, bro. We want to hear what you have to say. Speak up, king.
Bro you did it holy shit you really did it
I like zed , even made a contribution . But there’s some way to go before it’s ready to replace the alternatives
I didn't know Ghostty existed, now I'm profoundly interested in Mitchell Hashimoto
that cdo tip actually blew my mind. what the hell.
14:10 that is from Doom Emacs for sure :) It's got many great features and mnemonic keybindings.
add "reacts" to your title, cmon
This is the reaction channel... It's almost all reactions here.
me a 0.1x engineer
watching a 1x engineer
talk about a 100x engineer
That's great. Watching videos like this is like ppl watching videos of supercars in use by the 1%.
I am absolutely certain, I will not be able to use it on my work laptop limited by my company policies and IT police. And i have a feeling I'm not the only person in this situation.
No, I'm not a 100x engineer.
I mean, it’s a fundamentally different tool given how bulky it is, but IntelliJ has all of this. I think that was an assumed point that was disregarded because if you’re someone interested in vim, eMacs, or zed, you want something ultra performant.
Maybe I'm stupid, but isn't this multi-select across files to type just find and replace or the refactor button in vscode?
poor guy cannot exit vim for 10000 hours
I have inlay hints on a toggle key in Helix. And multi-cursor editing is great.
Modestest "Helix btw" ever
I just hope that remote development gets added soon. Working on some C++ code bases is just easier on a linux box somewhere
I was absolutely called out near the end lol. I recently picked up go to contribute to an open source project and the first issue I had with the language is that it did not have ANY sum types lol. Coming from Rust, I had a hundred Rusty ways to solve the problems with Options, Results, Sum types, iterators, higher order functions and other functional ideas. Really had to give it a couple of days before I began to properly use Go lol.
I love its simplicity though. I could read the source right away without any issue, never having read a line of Go in my life prior. Compared to Rust, where I couldn't (and still in some code bases can't) understand the code without spending hours deciphering what is going on there XD. Love both Rust and Go though.
Thank God Ive finally got a functional working setup in neovim, time to switch to zed and learn how it works so i can avoid doing real work
TIL gq in Visual Mode and :s/../../gc did not expect that from the video!
Also, there is a Plugin for multi cursors in vim, I think it's called vim-visual-multi. I use it all the time, it is so much more convenient than macros
Yeah, nothing shows curiosity as plowing 10,000 hours into Vim.
"Zed's dead baby..."
That multi-buffer thing would be amazing for when you have to add a lifetime to a type in Rust.
No way! I was about to buy Thorsten's book anyway but thanks for the discount code!
Awww yea, prime looking up coc live on stream
I also live dangerously
Zed who? Helix is where it’s at.
Sourcegraph is so good! Let me jump around microservice code and figure my way around complex processes ^_^
If Zed can become so hackable that it can replace Vim and JetBrains for me, I'll happily switch and even contribute to it. Before anyone says something, JetBrains IDEs have refactoring tools that no LSP currently provides, plus a whole lot of other things that could be like fully fledged single products: Git integration, Database integration, AI built in (powering it's intellisense), etc.
I agree I use CLion only for refactoring, because there is nothing quite like it. But apart from refactoring it's not a good text editor imo, but the IDE features are truly amazing
"What if I want to Zed?"
Zed is pretty good, but it isn't quit there yet IMO. It's also a bit unsetteling, to give up so much control coming from NeoVim.
Zed's Documentation is lackluster, so fully configuring it is also kind of difficult.
Most of my configuration knowledge comes more from their GitHubs Issues section. With 1.7K reported issues, I don't think it is ready for primetime yet either.
From a pure usability point, it is not better or worse, than a fully configured NeoVim. It is just different.
With different Quirks and concessions to make on both sides.
I personally use multi-cursor so rarely that between events, I forget the keystrokes :D I don't need it, it is just slightly convenient on a rare occasion.
Vim mode on vscode has never worked with multi cursors for me personally. I don't know if I'm doing it wrong but the vscode vim mode is also far less configurable and often times feels like it's getting in the way with how it conflicts with vscode utils. Maybe Zed's better at this
@4:48 You guys can clip it and take it out of context now 😅
You gotta take the time to enable that extension that shows you what keys you've pressed. I would liked to know what keys you pressed to get to that quickfix list
The seeds of heresy have been sown!
By the time a Linux port comes around, I'd likely forget this even exists.
We gotta add multi-cursor multi-select in neovim... New plugin idea
This video is a perfect example of how the coding culture has become absurd.
Zed wants to be Emacs when it grows up :)
I kinda find I don't really have muscle memory or shortcut memory. Whichever work PC I'm on I just carry a portable np++ with me. It's a quiet life.
Edit: the final point really resonates with me tho. Sometimes you do need to change your way of thinking when using a new tool. You often see this 'ew it doesn't have static types', 'ew significant whitespace' etc.
Yep. Even in the trades, people get hung up on brand name tools. A built house is a built house regardless of what color tools they used.
There is a vimscript plugin for multicursors that's been around for ages.
thumbs up for not having node installed
So neovim has functions which you can search for but in intel, code you can search an action by its descriptive text, which a non english master might miss.
Do we know if there will be an embedded language and what they have chosen?
I have tried to use editors with vim motions like vscode, jetbrains, zed, whatever and none of them allow :%norm commands which I use multiple times every day and can't live without.
yeah i barely scratch the surface of the norm command but i use it from time to time
Some users were really hoping for something similar to VSCode to abandon VIM
Mac only sadly. Wake me up when they support the non-fisherprice unix :P
I am kind of curious whether the author of the article is aware of Vis.
It is basically a "suckless" Neovim, that also features multi-selection multicursor by default.
In addition it features the ridiculously powerful structural regular explression of the Sam editor (by Rob Pike).
It neatly integrates the structural regexp with the multi-selection, multi-cursor.
If there is something I would ditch Neovim for then it would be Vis. My only problem with it is it still only supports POSIX system, and its plugin ecosystem is not as mature as Neovim's.
vim is not an editor, vim is a religion with an editor also.
I know that Emacs doesn't have the performance, but it can do all of it and waaaay more than that.
Been loving neovim but once it’s out on Linux I’ll be giving it a good shot
Do it now, it's out
@@KyleHarrington I did it’s really bad lol
I want Neovim with great mouse support. Hence I use Sublime Text 4. I could use Zed, but it doesn't look like Neovim...
One thing we can probably all agree with: Zed is x99 times better than VSCode!
It lacks additional x1 to be x100, only because some extensions might be lacking on Zed, that are present on VSCode.
*And of course, it's macOS only, but I use multiple computers, including both macos and windows, and sometimes linux, so I actually would like to see Zed on all three platforms. And among one of the most wished features that I miss in Zed, is «Zed Remote», so I could install Zed on server and attach my local UI to serverside Zed via SSH. It's so fast though, I love Zed.
moving to neovim or modal editing in vs code was on my road map but Zed changed things. I'm very slow at typing but he editor experience is vastly better in Zed than vs code.
6:50 Multi-cursor: I don't think multi cursor is just playing macros at the same time. Because nothing plays at the same time at all. If any macro changes the content of the buffer, then the next macro on the other cursor might work on a different buffer, that changed the entire content.
What you mean "i think" about multi-cursor. multi-cursor is the only holy way, you can't think about it. you must be one with it.
*do
Fixing vim vertical motions and life would be perfect.
Vim has :norm but idk how to use it though
No plugin system. No Linux support. What is there to talk about?
> No plugin support
Thats litterary in the works and will be implemented through webassembly
> No linux support
Also in the works atm, if you read the fucking website you'd know
No, I will not read the fucking website, hype boy. But you can get back to me here when there is Linux support and a plugin system. See you in 5 years.
@@tech-nomade We just got linux support yesterday. So it's more like 12 days not 5 years
@@tech-nomadeyour comment aged like milk
So one year later or so (not the primeagen video but going open source) they got Linux support which shouldn’t have been a big issue in the first place. So my joke about 5 years could be still prophetic regarding the plugin system (which is a 100 times more complex feature that has to be build right at the beginning and not when 1 million line of codes have been written) with that enthusiasm. If at all. I’m not sure it’s in their interest to have a solid plugin system at all. It should have been done right away.
The final discourse should inspire everyone to ... use Haskell
Early in the morning I prefer my spouky wucky to have spinky winky you know? In that way I can get my spaudipaudi.That enables me to make the special whou whou whou
Idk man. I’m already invested in helix and my muscle memory is already pretty ingrained.
Coool! I love neovim and try to embed nvim into anything such as vscode and I also want to embed it into zed. Maybe I need to learn better way!
[Comparing other languages like Go to other languages like Rust] I think we can all agree though, JS needs to go. It's not a good language. It's an adequate language. It got there first, did its job, and nobody has the impetus to change it. There are some things that JS does that are interesting, but there are so many things it does which are a pain in the ass (and many more that it doesn't do which makes things more painful) which ANY other language does. Python would be a solid replacement, if only because it has a solid async library as well and "isn't multithreaded" just like JS but has a far more inclusive base language. I'm not as familiar with Rust, but if there's a Vue/React/Angular equivalent (looks like there's Yew and egui?), hopefully we can decide as a community that we're better off switching to a decent language that treats us well and has proper tools?
All of these features exist on VS Code and are way better for now! He surely never used VS Code because most of the key binds are the same
Zed is way worse than VS Code in so many ways, it's not even fair to compare them
I tried a lot of solutions, but Vim motions(+ vim extensions) + VS Code is the way to go
Even tho Zed is built with Rust, it's way slower than VS Code.
Maybe they can make it good, but it will be very difficult to compete with VS Code, he needs to be outstanding to give people a reason to switch, not just good enough or OK, It needs to be WOW
I just tried zed out of curisoity. Nope.
I don't think anything can replace the neovim+tmux flow :D
Hmm, I still don't understand what is the "new" thing he refers to. To me the editor just have to be not in the way and help my everyday tasks and inform me without spamming.
So, did I miss why this guy switched? Was the guy comparing vanilla experiences? If the multi-buffer thing can be done as part of COC, then did the author not know? He says that he was interested, and tempted by what was new. But the article doesn't actually list anything that's new. It's about as devoid of actual content as a chatgpt response.
I've tried Zed for like a week, really trying to switch to it, but at the end it didn't clicked with me, I started using warp instead :)