warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
21.37k stars 373 forks source link

vi (vim) mode / Vim keybindings #159

Closed vgel closed 1 year ago

vgel commented 3 years ago

Describe the solution you'd like?

Use neovim to drive vim keybindings in the command editor.

Is your feature request related to a problem? Please describe.

I use Vim keybindings in ZSH (via https://github.com/jeffreytse/zsh-vi-mode) on my home machine. I haven't gotten around to setting it up on my work laptop yet, because it's painful, slow, and buggy. It tries to emulate vim using shell scripts, which doesn't work very well. It'd be really neat to leverage the native editor experience in Warp to provide a near-flawless vim mode like vscode-neovim does for vscode.

Additional context

currenthandle commented 1 year ago

I'm just checking in here. Since this issue was opened, over a years ago, I check it all the time. Presently, there are 134 likes on the original post. There are dozens of bumps/+1s, in fact, every time I look at it seems someone else bumped it only a few days prior (or less).

Most frustrating is that the last response from the Warp team was @elviskahoro's response https://github.com/warpdotdev/Warp/issues/159#issuecomment-1174601921 (back in July!!) to my first comment and the content of his statement was that the Warp team was going to be more transparent about the road map in the next quarter. Well, it's been 6 months now, and nothing.

I can only speak for myself, but I imagine that, like me, everyone keeping this thread warm appreciates the work the Warp team is doing to improve the terminal experience. I see Warp adoption in more and more places: https://star-history.com/#warpdotdev/Warp&Date and I only grow more perplexed over time by the fact that this feature still hasn't been integrated.

I know that Vim is amongst the most widely (if not the most) used and loved CLI-based text editors in the world. When I became fluent in Vim and subsequently learned that I could bring these key bindings to my terminal, my productivity and quality of experience grew exponentially overnight. While Warp brings a lot to the table in terms of improvements over the other terminals on the scene, this doesn't make up for what we get by having Vim keybindings in the terminal and we are many.

I am not a desktop app developer nor a Rust dev, although I'm starting to play around a bit :) but it's hard for me to imagine that this feature could be that difficult to implement. Again, I'm a noob here but some communication on this matter from the team would be greatly appreciated! Is there a blocking issue we don't know about? Maybe the community can offer some support here. Or have Vim keybindings been de-prioritized for a long backlog of P0 features and bugs? Again this is hard for me to believe because Warp does some much and runs so smoothly at the time of writing. Maybe more active discussion channels between the community and the Warp team would leave us all more informed on what the community values.

@elviskahoro How are "custom keybindings in general" coming along? https://github.com/warpdotdev/Warp/issues/159#issuecomment-1002917367

Has the Warp team intentionally decided not to ever implement this feature for one reason or another? If so please let us know.

I'd be happy to organize or take on working on a plugin or forking the Warp repo. If anyone else is eager to work on this let me know. I propose Varp as an obvious name choice.

In conclusion, it's plain to see that Warp is great! But the (massive) Vim gang is hamstrung by the lack of keybindings. Don't you want us Warp team :( We sure want you. Please let us know what's going on or if there's any way we can help. To the community, if anyone wants to take this on, I'm sure we'd all be eternally grateful. I'm happy to as well and if anyone wants to join up or give me some tips on where to look or how to get started that'd be awesome. 🙏🧘

dannyneira commented 1 year ago

Thanks for your detailed feedback @currenthandle, we have several big issues/requests on the roadmap and will add the label/tag to this issue when it's being worked on. Given we've implemented our own modern input editor, vim keybinds would have to be done from scratch to work in Warp. We appreciate your patience as we try and knock out these major requests.

hms commented 1 year ago

Danny,

You seem to be missing the point. Again. Everyone understands how big a job building warp is. Everyone understands you have a roadmap that must meet your business commitments and that your roadmap might not match our desires.

What the warp team seams to not understand is how the lack of communication on a topic that is so demonstrably important (size and age of thread.....) burns good will with your beta testers. No one is asking you or the team to change your priorities to meet ours. All we asked, and waited patiently for, was a realistic response or roadmap timeline.

Given how the Warp team has so clearly deprioritized a feature that is critical to my workflow, I dropped out of the beta. That's ok for both of us -- I'm not a good tester without VIM keyboard bindings and you clearly aren't catering to people with similar needs as demonstrated by the lack of that functionality.

That being said, I will never become a Warp user in the future unless I can be sure it has 100% (not 99% -- not good enough) of everything I think I need since this year has demonstrated that a lack of communication is a feature, not a bug. This thread and the length of time I've waited for any kind of useful feedback has turned me off as a user.

I wish you and the team good luck.

hms

pr3d4t0r commented 1 year ago

+1 for Vim mode -1 for NeoVim (or Vim) dependency - it should be built-in

bash and zsh already have Vim bindings (set -o vi) so maybe the solution would be to try to bind with the shell itself rather than with the editor? bash's Vim bindings support gets a lot of flack because it "supports" visual mode by opening the editor itself -- that doesn't sound like a good idea.

I'll have a look at how Warp bindings are implemented now and then opine or start submitting pull requests.

warpdotdev-devx[bot] commented 1 year ago

Vim keybindings would have to be native since the Input Editor is also completely native!

dimon1553 commented 1 year ago

+1 for set -o vi

jmorecroft-seek commented 1 year ago

yep, was quite excited about Warp until I realised this didn't work. and out. back to the terminal, nice knowing you Warp.

UDtorrey commented 1 year ago

+1 for set -o vi; I was excited seeing some colleagues use warp; however my muscle memory wont adjust - i've tried. some tricks you cant teach old dogs.

AnotherYeti commented 1 year ago

+1 for this, +2 for using a more modern Kakoune/Helix style option.

benlieb commented 1 year ago

Lack of vim mode is also a non-starter for me. I'd personally be fine with neovim especially if it makes the difference between having and not having the feature.

The terminal looks cool but I think I'll not even bother downloading without vim mode.

jsonMartin commented 1 year ago

I'm enjoying using warp - especially the AI command integration, but without vim keybindings is a dealbreaker. Using vim keyboard shortcuts to manipulate text directly in the CLI is very helpful.

soulfresh commented 1 year ago

+1 for any sort of VI mode

eccomaggio commented 1 year ago

+1 for vim mode

icebrg commented 1 year ago

I also can't do without vim mode (however it's supported).

guttenbergovitz commented 1 year ago

+1 for mouse bashing...

guttenbergovitz commented 1 year ago

anyway... using tmux with zsh on top of warp, but there is something fundamentally wrong with my approach I reckon...

DieracDelta commented 1 year ago

+1 for vim mode

lpxxn commented 1 year ago

+1 for vim mode

horserad commented 1 year ago

+1 for vim mode

haveanicedavid commented 1 year ago

+1 for the "Wanna use warp but no vi movements is a non-starter" gang 😄

cyshallchan commented 1 year ago

Any updates?

bdtomlin commented 1 year ago

I hate to be a +1 guy, but here I am. I just found out about warp today and installed it. I kind of love it. I'm going to continue to try using it without vim key bindings, but I'm not sure how long I can last. Lack of basic vim keybindings is very painful.

hmasood-px commented 1 year ago

+1 for vim mode!!!

GregoryConrad commented 1 year ago

FWIW, it would be nice if you did not embed neovim, but rather had the system generic enough that you could add keybindings for different types of editors (like Helix or Emacs) too. That would be fantastic for those of us that don't use vim.

benlieb commented 1 year ago

@GregoryConrad vi mode is just a mode, and wouldn't preclude any other mode.

set -o vi

Manubi commented 1 year ago

maybe add it to the documentation that you don't support it yet. Probably changing back to iterm2.

Lincest commented 1 year ago

+1 for vim mode

ShamilAssylbekov commented 1 year ago

+1 for vi mode

I am trying to test drive warp and it looks and feels and works great, except for the lack of vi mode. I have to stick to iterm2 because of that.

brennschlus commented 1 year ago

it's already April 2023, any news or updates on this?

Manubi commented 1 year ago

just to add it, it would be nice to also have the vim commands to move between panels and windows. such as tmux.

Tomotoes commented 1 year ago

vi mode, please

bryant-finney commented 1 year ago

+1 for vi mode (it's the only reason I'm still using iTerm2 as my daily driver)

beaumccartney commented 1 year ago

+1 for vi (or helix-type) mode

stounfo commented 1 year ago

+1 for vi mode

Vikaiv commented 1 year ago

+1 for vi mode

samolin commented 1 year ago

+1 for vim mode

RPDavlyatshin commented 1 year ago

+1 for vi mode

kevinjruffe commented 1 year ago

+1 for vi mode

tcchau commented 1 year ago

I really love how responsive and quick Warp is and will continue to use it for a while to see how long I am able to endure not being able to edit the command line with vi key bindings.

+1 for vi mode

djmango commented 1 year ago

+1

marc-brouard commented 1 year ago

+1

rm374 commented 1 year ago

+1 as well - downloaded warp recently and while I love some of the features it offers right out of the box, my muscle memory is too deeply tied to vi mode. Would be awesome if it was supported here as well.

ijse commented 1 year ago

+1 for vi mode

sashaaldrick commented 1 year ago

+1 for vi mode, I just switched to warp, but not sure I can keep using it without vim binds, or at least bindkey support. Thanks.

dannyneira commented 1 year ago

Hey Folks, This feature is on the roadmap and actively being worked on (no official eta). We'll post any updates on this thread once we have more to share! 🤞 Sneak peek below:

CleanShot 2023-07-18 at 11 14 31

Meronkha commented 1 year ago

+1 on this feature

sebneira commented 1 year ago

I really like the idea of warp, but unfortunately can't use it without key bindings. I'll keep an eye on this issue to see when I can come back.

currenthandle commented 1 year ago

Hey Folks, This feature is on the roadmap and actively being worked on (no official eta). We'll post any updates on this thread once we have more to share! 🤞 Sneak peek below:

CleanShot 2023-07-18 at 11 14 31

Hey @dannyneira happy August! Any way we can get an update?

michaelmcmillan commented 1 year ago

+1 for vi mode!

Also, this would suffice for me, as it allows me drop into vi with the current command:

set -o vi
Amarlanda commented 1 year ago

excited to see this being worked on +1