[FEATURE]: VIM Keyboard Layout #7927

Open
opened 2026-02-16 18:08:41 -05:00 by yindo · 6 comments
Owner

Originally created by @IvanProg00 on GitHub (Jan 29, 2026).

Originally assigned to: @kommander on GitHub.

Feature hasn't been suggested before.

  • I have verified this feature I'm about to request hasn't been suggested before.

Describe the enhancement you want to request

I would like to have the option to use the VIM keyboard layout to write the message. It’s really useful when working with long prompts. And this functionality already have the popular projects Claude Code and Gemini Cli.

Image
Originally created by @IvanProg00 on GitHub (Jan 29, 2026). Originally assigned to: @kommander on GitHub. ### Feature hasn't been suggested before. - [x] I have verified this feature I'm about to request hasn't been suggested before. ### Describe the enhancement you want to request I would like to have the option to use the VIM keyboard layout to write the message. It’s really useful when working with long prompts. And this functionality already have the popular projects **Claude Code** and **Gemini Cli**. <img width="1034" height="384" alt="Image" src="https://github.com/user-attachments/assets/0c09579b-4a1d-4c06-ae8c-9409b73477a3" />
yindo added the opentuidiscussion labels 2026-02-16 18:08:41 -05:00
Author
Owner

@github-actions[bot] commented on GitHub (Jan 29, 2026):

This issue might be a duplicate of existing issues. Please check:

  • #1764: [FEATURE]: vim motions in input box
  • #4092: [FEATURE]: better navigation of output, alternative vim mode and non-blocking agent permission requests
  • #6537: [FEATURE]: Built-in Vim mode instead of relying on external editors
  • #9952: Add vim normal/visual mode for copying text of llm's response
  • #3370: [FEATURE]: Text selection and navigation inside input with keyboard

Feel free to ignore if none of these address your specific case.

Also, for keybind-related issues, please check our pinned keybinds documentation: #4997

@github-actions[bot] commented on GitHub (Jan 29, 2026): This issue might be a duplicate of existing issues. Please check: - #1764: [FEATURE]: vim motions in input box - #4092: [FEATURE]: better navigation of output, alternative vim mode and non-blocking agent permission requests - #6537: [FEATURE]: Built-in Vim mode instead of relying on external editors - #9952: Add vim normal/visual mode for copying text of llm's response - #3370: [FEATURE]: Text selection and navigation inside input with keyboard Feel free to ignore if none of these address your specific case. Also, for keybind-related issues, please check our pinned keybinds documentation: #4997
Author
Owner

@ikusteu commented on GitHub (Jan 29, 2026):

Why not just use the command palette and open in editor. I do:

  • start writing a prompt in the default box
  • if I see the prompt will be longer and I'd like to use my default editor (nvim), I do (open command palette) -> start typing editor and open the prompt in default editor

There's also a keybinding for editor command, I just never got used to it.

@ikusteu commented on GitHub (Jan 29, 2026): Why not just use the command palette and open in editor. I do: - start writing a prompt in the default box - if I see the prompt will be longer and I'd like to use my default editor (nvim), I do <C-P> (open command palette) -> start typing `editor` and open the prompt in default editor There's also a keybinding for editor command, I just never got used to it.
Author
Owner

@Stewart86 commented on GitHub (Jan 29, 2026):

did you just blindly check I have verified this feature I'm about to request hasn't been suggested before.?

@Stewart86 commented on GitHub (Jan 29, 2026): did you just blindly check `I have verified this feature I'm about to request hasn't been suggested before.`?
Author
Owner

@mekedron commented on GitHub (Feb 16, 2026):

@ikusteu yeah, actually editor command works, but unfortunately it doesn't update the edited prompt to the opencode's tui text input field

@mekedron commented on GitHub (Feb 16, 2026): @ikusteu yeah, actually editor command works, but unfortunately it doesn't update the edited prompt to the opencode's tui text input field
Author
Owner

@ikusteu commented on GitHub (Feb 16, 2026):

@mekedron that's weird. It works for me...my setup: Mac, Ghostty, NeoVim (default editor), OpenCode, TMUX

Note: I'm not part of the dev team, just giving my two cents (and the tmux thing is probably irrelevant, but adds additional complexity that could possibly break this -- and it doesn't).

My understanding is it should work like this (and that's what I've observed in my setup):

  • there's a TUI session (and a prompt)
  • when you select editor and open the prompt in the editor, it's exported as <timestamp>.md file and stored in a central location..something like /private/var/folders/..../.md` (on Mac)
  • you edit that file in the editor and when you save and exit (:wq) the TUI pulls the .md file and fills the prompt

So yeah...take this and debug or ask your favourite LLM for help

@ikusteu commented on GitHub (Feb 16, 2026): @mekedron that's weird. It works for me...my setup: Mac, Ghostty, NeoVim (default editor), OpenCode, TMUX Note: I'm not part of the dev team, just giving my two cents (and the tmux thing is probably irrelevant, but adds additional complexity that could possibly break this -- and it doesn't). My understanding is it should work like this (and that's what I've observed in my setup): - there's a TUI session (and a prompt) - when you select editor and open the prompt in the editor, it's exported as `<timestamp>.md` file and stored in a central location..something like `/private/var/folders/..../`<timestamp>.md` (on Mac) - you edit that file in the editor and when you save and exit (`:wq`) the TUI pulls the `.md` file and fills the prompt So yeah...take this and debug or ask your favourite LLM for help
Author
Owner

@mekedron commented on GitHub (Feb 16, 2026):

@ikusteu ah, you're right! I've just checked with Vim and it works fine. Last time I tried with Zed (rust-based GUI code editor), and it didn't work, but when I switched my EDITOR=vim it worked alright! Thanks!

@mekedron commented on GitHub (Feb 16, 2026): @ikusteu ah, you're right! I've just checked with Vim and it works fine. Last time I tried with Zed (rust-based GUI code editor), and it didn't work, but when I switched my EDITOR=vim it worked alright! Thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#7927