Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Nvim vs Zed with 30k cursors

65,447 Aufrufe • vor 1 Monat •via X (Twitter)

54 Kommentare

Profilbild von ADormantSakthi
ADormantSakthivor 1 Monat

Ahh yes I need to use 30k cursors

Profilbild von Loric Brevet
Loric Brevetvor 1 Monat

Here is Kakoune with 300k selections.

Profilbild von justinmk
justinmkvor 1 Monat

nice! Nvim still has a lot of baggage to remove (and low-hanging fruit) to improve editing speed; my multicursor work hasn't touched any of that, only focused on MC itself being fast.

Profilbild von Mikael Brockman
Mikael Brockmanvor 1 Monat

it's time to rewrite zed in rust

Profilbild von Vim Glamour
Vim Glamourvor 1 Monat

Is this going to be available in neovim 0.13?

Profilbild von justinmk
justinmkvor 1 Monat

yup

Profilbild von Artem Golubin
Artem Golubinvor 1 Monat

It's almost instant for me in helix, 80k of short strings

Profilbild von justinmk
justinmkvor 1 Monat

i'm sure Zed can fix whatever is happening here. and Nvim will be able to fix perf issues as we go along too. that's why architecture matters, it allows you to iterate.

Profilbild von Daniel Colascione
Daniel Colascionevor 1 Monat

Are cursors here implemented like Emacs markers? An unsorted singly linked list? There was a patch to change to change them to a tree with much better asymptotic bounds but it didn't land. (In Emacs, point is literally a marker.)

Profilbild von justinmk
justinmkvor 1 Monat

Nvim cursors use "marktree", an internal data structure that has nice things like bisect. > In Emacs, point is literally a marker. sadly, Nvim "primary" cursor is still separate. changing that would be a boil-ocean refactor :<

Profilbild von 6thScythe
6thScythevor 1 Monat

50% of people hyped to the moon 49% of people don't get it 1% of people kakoune Personally I see this as monumental. Gaining some of the capabilities of kakoune/helix, with Neovim's built up (and incredibly hard to replace) plugin ecosystem is going to be incredible

Profilbild von Mark Tyrkba
Mark Tyrkbavor 1 Monat

Don't test this in EMACS your computer is gonna blow up

Profilbild von Vitalii Diachkov 🇺🇦
Vitalii Diachkov 🇺🇦vor 1 Monat

Proud to be neovim user

Profilbild von borrowck-novel
borrowck-novelvor 1 Monat

Very cool. Why is Zed on the CPU and not on the GPU though?

Profilbild von justinmk
justinmkvor 1 Monat

@ZH1YGD idk. i have a 2025 macbook air, maybe it doesn't have a H200?

Profilbild von borrowck-novel
borrowck-novelvor 1 Monat

Tbh, I don't know how things work on mac, but on a regular laptop with integrated and dedicated GPU, I would assume that Zed was running on the integrated only. That's something sometimes desirable to reduce noise and battery consumption. I think it is worth it to ask someone knowlegdable with macs.

Profilbild von adam smielewski
adam smielewskivor 1 Monat

pov: i'm trying to contribute a feature somewhere the maintainers: but what if the user has 30k cursors? this would impact performance

Profilbild von ᕦ( ͡° ͜ʖ ͡°)ᕤ
ᕦ( ͡° ͜ʖ ͡°)ᕤvor 1 Monat

This is epic! Great job 👏 A lean performant editor is the kind of editor that we will someday carry on a watch

Profilbild von Језда
Јездаvor 1 Monat

is this a block select or multi-cursor feature that is coming to Neovim?

Profilbild von justinmk
justinmkvor 1 Monat

multicursor

Profilbild von Pobedie
Pobedievor 1 Monat

I tried to use zed but it gave me impression that it was vibe-coded. So many annoying little things dev would catch if they actually tested it. Many flows don't have proper error handling, sometimes you don't get any indication that an error happened. And vim mode is lackluster

Profilbild von @falcucci
@falcuccivor 1 Monat

awesome.

Profilbild von Dipankar Das
Dipankar Dasvor 1 Monat

Yes bro neovim for the WIN

Profilbild von Petr Hurtak
Petr Hurtakvor 1 Monat

Cc @rtfeldman :)

Profilbild von Gabriel
Gabrielvor 1 Monat

Funny but if im making that many edits im using a macro or a regex.

Profilbild von justinmk
justinmkvor 1 Monat

macros and interactive :substitute are excellent tools. multicursors are "interactive macros" with preselected placement. placing cursors removes the need for crafting a macro that must deal with text shifts caused by the edits. but yeah 30k is extreme.

Profilbild von Ye Yint Aung
Ye Yint Aungvor 1 Monat

I thought zed would be faster

Profilbild von justinmk
justinmkvor 1 Monat

it's extremely fast and low-latency for most editing tasks. but its multicursor handling probably can be optimized.

Profilbild von Aavtic
Aavticvor 1 Monat

How is that neovim?

Profilbild von Michael
Michaelvor 1 Monat

Not bad 👍

Profilbild von Afonso Franco
Afonso Francovor 1 Monat

When will the branch become public for us to test? :)

Profilbild von justinmk
justinmkvor 1 Monat

this week. feedback/testing is very appreciated!

Profilbild von Tom
Tomvor 1 Monat

Now try Helix

Profilbild von justinmk
justinmkvor 1 Monat

i looked at Helix's implementation but can't be bothered to install it. y'all can compare to Nvim when this lands. though it's not totally equivalent, bc Nvim emits plugin-observable CmdAtom events for all user actions (Helix does not, even w/ the steele PR)

Profilbild von Језда
Јездаvor 1 Monat

interesting

Profilbild von Gazi Refatul
Gazi Refatulvor 1 Monat

Which terminal emulator are you using?

Profilbild von justinmk
justinmkvor 1 Monat

ghostty. p.s. Nvim supports the kitty multicursor protocol, so cursors look better in kitty.

Profilbild von Gazi Refatul
Gazi Refatulvor 1 Monat

Ahhh good I use kitty. 🐱

Profilbild von Ramtin Abadi
Ramtin Abadivor 1 Monat

Interesting, I'll have that in mind whenever I need to have a 30k cursor

Profilbild von JSON x
JSON xvor 1 Monat

buffering

Profilbild von Nick Bernstein
Nick Bernsteinvor 1 Monat

what a crazy way to use *vim. `:.,+30000!sed 's/old/new/g'`

Profilbild von Chris R
Chris Rvor 1 Monat

cursormaxxing

Profilbild von anil
anilvor 1 Monat

how did you get that many cursors in vscode? is there a shortcut?

Profilbild von justinmk
justinmkvor 1 Monat

cmd palette => "Add Cursors to Line Ends" this is a reminder that i know vscode better than most vscode users 😂

Profilbild von anil
anilvor 1 Monat

haha. i didn’t realise u r neovim maintainer. thanks for responding. wow thats a whole custom command in vscode. i know vim better than vscode. never had to do this on vim, but im guessing its ctrl shift V for visual block and then G to go to the last line. and then I to edit. its super composable. on vscode i hold option and click where ever i want the other cussors to be. but one advantage with this is there doesnt need to have any obvious pattern on where the multi cursors need to be. if i have to do this on vim, maybe ill use a record or . command for repeating edits. is there a better way? is it possible to have multi cursors in random places on nvim?

Profilbild von justinmk
justinmkvor 1 Monat

in Nvim you can place cursors with "Q" or ctrl-click. visual-block is nice but there are situations where multicursors are better, i have a demo planned.

Profilbild von anil
anilvor 1 Monat

thank you. i didn’t know this. i just use visual blocks as multi cursors on nvim till now 😂😂

Profilbild von justinmk
justinmkvor 1 Monat

well, the feature hasn't landed yet. will be in Nvim 0.13

Profilbild von nkxxll
nkxxllvor 1 Monat

less is sometimes just more what should I say

Profilbild von justinmk
justinmkvor 1 Monat

say less

Profilbild von Wade Mealing
Wade Mealingvor 1 Monat

Only 100% ? Those are rookie numbers. you gotta pump those numbers up !

Profilbild von primordio
primordiovor 1 Monat

Imagine this is what decides it…

Profilbild von 0xthw7
0xthw7vor 1 Monat

how to fix neo-tree reliability n consistency?

Profilbild von justinmk
justinmkvor 1 Monat

add more cursors

Ähnliche Videos