-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Which-Key like menu #10910
Comments
This would be useful outside of Vim mode as well, with just the standard bindings, which was suggested here: |
Yep for me if this had better vim multi cursor (I think I just need to rebind things to get the editors version to work, ctrl+d is being overridden by vim right now), bindings like in doom emacs with whichkey and probably less account/copilot stuff I'd use it as my main editor when not using PHP. |
Just wanted to add a screenshot of a Neovim mini.nvim mini.clue implementation, which is somewhere between Helix's implementation and which-key. This is just for ideation. |
Just a thought, we could have a plugin similar to https://github.com/VSpaceCode/vscode-which-key if Zed could expose APIs. |
Just a +1 for this. One of the things I miss from Emacs is the ability to easily see what a key is bound to in the current context. I don't even think it needs to have the whole "popup all the possible binding completions" mini-pane; sometimes it's just that I want to add a convenient keybinding for something and I want to make sure I'm not shadowing some other thing which might be useful |
This comment has been minimized.
This comment has been minimized.
will give this a shot |
This Which-Key style menu would be an incredible addition to Zed! As someone coming from Neovim, I really miss having that visual guide for keybindings at my fingertips. It's not just about remembering shortcuts - it fundamentally changes how you interact with the editor. Having a Which-Key menu in Zed would:
Importantly, it bridges the gap between command-line efficiency and GUI intuitiveness. You get the speed of keyboard-driven workflows with the discoverability of a graphical interface. This could be a game-changer for Zed, making it even more appealing to developers coming from Vim/Neovim or Emacs backgrounds while still being accessible to those new to modal editing. The ability to see available options as you type would make Zed feel incredibly responsive and "smart". It's one of those features that, once you've used it, you wonder how you ever lived without it. Implementing this natively would give Zed a significant edge over editors that only offer it via plugins. |
Id love a which key like menu I keep having to tab back to Lines 287 to 337 in ec95a33
|
Check for existing issues
Describe the feature
Many vim distros like LazyVim or NvChad and Doom Emacs or even Helix have a Which-Key popup for extra keybinds.
It's extremely useful and you could even have an optional delay so you can complete the combination before it opens, you have a visual UI which tell you which key you can press to open which many for example you press W and then V to go to window settings and split it vertically. I'm currently using Zed as my main text editor and would love to have this feature as it helps a lot and makes it feel really like a Vim alternative.
This could become a crucial part of the Vim workflow and could be really essential to the Zed experience.
Many editors have it as a plugin although some have it built-in, once Zed gets plugin support it might even be implemented through a plugin but I like the native way more
If applicable, add mockups / screenshots to help present your vision of the feature
These images aren't mine, I just found them on Google but I've tried all of these implementations of which-key.
This might just seem like the command line when pressing : in Zed but it's very different when actually using
Doom Emacs:
![image](https://private-user-images.githubusercontent.com/68782699/325003015-3adf5c1d-a018-40b6-a2b7-5657ee173804.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODk0NDcsIm5iZiI6MTczOTQ4OTE0NywicGF0aCI6Ii82ODc4MjY5OS8zMjUwMDMwMTUtM2FkZjVjMWQtYTAxOC00MGI2LWEyYjctNTY1N2VlMTczODA0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIzMjU0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTU2OWViYWU2NjY4ODIzN2Q3YjI0NWU5NmIyY2E5YTYxOWJhZmVhZTU1ZjU1NDQ4NTA3MjliYTFmODQwMmUxOWImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.01JyFZJED4vY2xk_5AZMr1Ly3q7GiXg_7TyCTXUxi9Y)
NvChad:
![image](https://private-user-images.githubusercontent.com/68782699/325003119-4e9ea4c3-1702-43fd-84be-5d9958a0162f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODk0NDcsIm5iZiI6MTczOTQ4OTE0NywicGF0aCI6Ii82ODc4MjY5OS8zMjUwMDMxMTktNGU5ZWE0YzMtMTcwMi00M2ZkLTg0YmUtNWQ5OTU4YTAxNjJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIzMjU0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTk5MjQzYzhmY2EzYzU1ZjFjZGNiMmQ1OGU0MTI1NzZjMmQ4ODA5NTA5N2E5Nzc4YjM0MDY1NzU4NTFhYjdjZjkmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.bZNVg_tcMp5XPxGt0has7XOXfklqN7b6UhIq1idGros)
Helix:
![image](https://private-user-images.githubusercontent.com/68782699/325002782-49b8ae5d-2154-4186-a9a0-0d72506e05eb.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk0ODk0NDcsIm5iZiI6MTczOTQ4OTE0NywicGF0aCI6Ii82ODc4MjY5OS8zMjUwMDI3ODItNDliOGFlNWQtMjE1NC00MTg2LWE5YTAtMGQ3MjUwNmUwNWViLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEzVDIzMjU0N1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTgwZTQ0YjhlOTMwMDU5MTNlYzdhODc0MDg2NWUyYmM0MjE1MjdiNDkwMjFiMWQxNzZhYWYwNzU4Nzc4YTg0N2QmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.rIXoa8Br6zXruGV5LlMKR401Cy-41s5CTUlJtWnQzvk)
The text was updated successfully, but these errors were encountered: