Agent Panel: Support vim mode in the agent panel
Summary
Currently, Vim mode does not work in the agent panel like it did in the assistant panel. It would be great if it did
Zed Version and System Specs
Zed: v0.185.9 (Zed) OS: Linux X11 zorin 17 Memory: 15.5 GiB Architecture: x86_64 GPU: NVIDIA GeForce GTX 1650 || NVIDIA || 570.133.07
I have the same issue
Hey, this is a known regression in the new system, it still works in text threads, but not in the agent panel input. I've revised the issue to reflect that it is a feature request rather than a bug. Thanks for reporting and letting us know this is something you're interested in!
- to this, same issue.
@darv86 To clarify, are you looking for Vim mode in the message buffer or within the agent response thread? Or both?
Personally, I'd love to see Vim mode in the message buffer as a first priority (i.e. where it says, "message the agent"). Good vim support was my initial reason for trying Zed. Now that I'm spending more and more time in the agent panel, my work-around is to draft my prompts in a new, unsaved buffer and then paste into the agent panel. This feels like an odd workflow for an editor with Vim support as a headline feature, so fixing the message box is most important. For me, also restoring the ability to edit the model responses would be very welcome but a second priority.
I wanna use Vim mode in the message buffer AND within the agent response thread. Like it was before certain update.
previously assistant panel was perfect example of Vim mode. it has support for message buffer as well as Editor also. so it would be awesome, if we could have vim motion to navigate through message and must in the editing box..
UPDATE:
I found that I apparently wasn't using the right context for they key bindings. I saw Joseph's comment here.
Tl;dr: Add this to your keymap.json and you will be able to 'leave' the agent panel thread.
{
"context": "MessageEditor > Editor",
"bindings": {
"enter": "editor::Newline",
"cmd-enter": "agent::Chat", // this should be the default submission imo.
"ctrl-h": "workspace::ActivatePaneLeft",
"ctrl-l": "workspace::ActivatePaneRight",
"ctrl-k": "workspace::ActivatePaneUp",
"ctrl-j": "workspace::ActivatePaneDown"
}
},
Old message: I'd also like to add that keybindings to switch to another panel do not work in the agent panel when in thread mode. I have ctrl-{h,j,k,l} to move around the zed panels which works fine everywhere except in the agent panel thread mode. I have to press cmd+r and close the panel to leave it which is a subpar experience.
imho the best option would be something like obsidian, so we have a preview with rendered markdown, but the section under the cursor is shown as code. This will provide the navigation convenience of the vim mode without loosing the readability of the rendered markdown.
imho the best option would be something like obsidian, so we have a preview with rendered markdown, but the section under the cursor is shown as code. This will provide the navigation convenience of the vim mode without loosing the readability of the rendered markdown.
I agree. This would be awesome. Also wish I could use vim keybindings to navigate the agent's output above. Currently have to use the mouse which is a subpar experience imo.
#31915 implements Vim mode in the agent message editor. It starts in insert mode, but pressing <Esc> will bring it to normal mode.
Vim-style thread navigation will be added separately, as this is tied to general improvements in keyboard navigation.
Very cool feature, but is there a way to make it configurable such that vim mode is only active when editing files? I've found that having vim mode active in a space that my brain categorizes more as a chat box than a file I'm editing really messes with me and it'd be preferable to be able to control those behaviors separately.
Thanks!