npm i -g @leohenon/ocvbrew install leohenon/tap/ocvcurl -fsSL https://raw.githubusercontent.com/leohenon/opencode-vim/ocv/install.sh | sudo shThen run:
ocvnpm i -g @leohenon/ocv@latest
# or
brew upgrade ocv
# or
ocv updateh j k l w b e W B E 0 ^ _ $ gg G
i I a A o O R x dd dw cc cw S J yy yw p P v V
f F t T ; ,
Ctrl+e Ctrl+y Ctrl+d Ctrl+u Ctrl+f Ctrl+b
Tip
Toggle via command palette (Ctrl+p -> Toggle vim mode).
Claude subscriptions built-in with /connect. No plugins or configuration needed.
Text selection from the chat session view.
Works similarly to tmux copy mode within opencode tui.
- Enter copy mode with
<leader>v. - Press
v/Vto start character-wise or line-wise selection. yyanks to the vim register.Entercopies to the system clipboard.Escapeexits visual mode,qexits copy mode.
Tip
Configure the entry key with keybinds.copy_mode in your config if you want something other than <leader>v.
Note
Copy mode collapses code diffs into a single column for easy copying.
Prompt input height is configurable with prompt_max_height in tui.json.
When the prompt grows past the visible area, a scrollbar appears automatically.
{
"prompt_max_height": 35,
"prompt_scrollbar": true
}Note
When typing gg / G focus the prompt input.
H / M / L are supported for viewport-relative navigation.
Warning
Setting prompt_max_height above 40 is not recommended.
Hides extra UI hints and tips.
| Default | Minimal |
|---|---|
![]() |
![]() |
Tip
Toggle via command palette (Ctrl+p -> Toggle minimal ui).
By default, vim insert mode keeps Enter for newlines. If you want Enter to submit instead, add this to tui.json:
{
"vim_enter_submit": true
}Have a suggestion? Open an issue.





