zed icon indicating copy to clipboard operation
zed copied to clipboard

Animated/smooth cursor movement

Open clo4 opened this issue 2 years ago • 13 comments

Check for existing issues

  • [X] Completed

Describe the feature

Similar to, but not the same as, zed-industries/zed#5179

VSCode and Neovide have the option to animate the cursor motion.

I don't know if I'd use this feature myself, but it looks great in demos and seems like a fun way to flex Zed's performance.

This is likely more useful when Vim mode is more fleshed out because it makes following the cursor easier for people newer to modal editing.

If applicable, add mockups / screenshots to help present your vision of the feature

Neovide does it beautifully. Animated cursor

clo4 avatar Feb 24 '23 12:02 clo4

I think we talked about potentially adding animations to Zed. We have Kay on the team (original author of Neovide!). Going to tag her in to loop her in on this issue.

cc @Kethku

JosephTLyons avatar Feb 24 '23 14:02 JosephTLyons

Animations done well are definitely on my todo list. I had hoped to add this sooner, but it required some more infrastructure before it can be landed.

Some blockers right now just for some extra insight:

  1. Today zed doesn't have animation infrastructure. We animate scroll positions using macos' events, but other than that everything is a response to state change. Further we don't have a next animation frame system built yet. There is a branch that handles this work but I'm cautious to push it immediately until I have an answer for whether the branch maintains our latency goals. This will likely coming after our next big push.
  2. Cursors today are rendered inside each editor. One major benefit of an animated cursor is that it helps you to know when it has moved from one tab to another. This requires a pretty big refactoring so that cursor positions are reported up rather than rendered directly by each component.

Likely we will land the animation infrastructure and then think about adding flashier features like the cursor. Its definitely on our radar though and appreciate the callout on Neovide ❤️!

I'm extremely excited to add the animation and editor legibility features from Neovide into Zed. Many of the ideas I would have loved to have explored in Neovide weren't possible due to limitations from Neovim and the Skia based rendering system I built for that project. With Zed we don't have any of those limitations, or if we do, we can go fix them because we own the entire stack from windowing apis, to renderer, to text datastructures. The future is bright!

Kethku avatar Feb 24 '23 22:02 Kethku

Is there an update on the animation infrastructure?

Huguesmmm avatar Oct 24 '24 22:10 Huguesmmm

Would also like an update on the animation infrastructure!

dan-myles avatar Oct 24 '24 22:10 dan-myles

Any updates on this!?

razgb avatar Dec 10 '24 09:12 razgb

Would love to have this as a feature

IsakBH avatar Feb 06 '25 21:02 IsakBH

I'm really interested in cursor animations, but I'm also wondering how it would be in a collab session with multiple cursors zooming around the editor. Obviously the Zed team represents kind of an edge case, because we are the ones using it for collab most. We sometimes have company-wide meetings, and the team is now something like 25 people, so it might be absolute mayhem seeing 25 cursors flying around. 😆

JosephTLyons avatar Feb 12 '25 20:02 JosephTLyons

First thing that comes to mind would be to solely animate your cursor or the cursor that you're following, since the intention of the animation is to make it easier to follow... but a toggle for animating everything would be pretty funny 😛

clo4 avatar Feb 14 '25 06:02 clo4

Would love to see this in Zed! Any news? :)

sigrdrifa avatar Feb 21 '25 09:02 sigrdrifa

This is definitely a must-have for zed! It would be great if we could also customize the animation a bit using the simple JSON file.

theVedanta avatar Mar 03 '25 20:03 theVedanta

agree with @theVedanta, would love to be able to customize the animation itself and the speed

IsakBH avatar Mar 03 '25 21:03 IsakBH

It'd be great to see this implemented.

nnra6864 avatar Mar 29 '25 10:03 nnra6864

Guys, is there any progress?

dabing1022 avatar May 28 '25 01:05 dabing1022

Hoping this will get implemented soon, the vim experience would become much better ;)

PatzEdi avatar Jun 16 '25 19:06 PatzEdi

Hey folks, looking at this, the infrastructure for animations might be ready? I'm not sure, are you folks planning to add this in? cc @Kethku (absolutely love the work on Neovide!) and @agu-z

In my transition from Neovim to Zed 🙃

Palanikannan1437 avatar Aug 18 '25 15:08 Palanikannan1437

this would be awesome :)

88neil avatar Aug 29 '25 06:08 88neil

can't wait

alanxmay avatar Sep 02 '25 08:09 alanxmay

Part of making the cursor smooth.

  • https://github.com/zed-industries/zed/pull/39095

aurexav avatar Sep 29 '25 11:09 aurexav

I'm waiting for this feature too!

EvgenyArtemov avatar Nov 14 '25 13:11 EvgenyArtemov

I recommend zed users to switch to Neovide, Zed developers themselves admitted that they will never build this feature

just delete zed and enjoy a smooth as butter experience with neovide. Who needs all those useless agentic features that zed keeps working on, when you already have neovide lol

typing and caret motion are actually important, experience of development needs to be pleasant in a product. If you think agentic handholding bloat is what zed needs, fine.

this thread should be closed

sdfgsdfgd avatar Dec 03 '25 03:12 sdfgsdfgd

I recommend zed users to switch to Neovide, Zed developers themselves admitted that they will never build this feature

just delete zed and enjoy a smooth as butter experience with neovide. Who needs all those useless agentic features that zed keeps working on, when you already have neovide lol

typing and caret motion are actually important, experience of development needs to be pleasant in a product. If you think agentic handholding bloat is what zed needs, fine.

this thread should be closed

Be a contributor first.

aurexav avatar Dec 03 '25 03:12 aurexav