diff --git a/crates/terminal_view/src/terminal_view.rs b/crates/terminal_view/src/terminal_view.rs index af1466a1a257dc773a86084ae3de6d211f884a68..c393fd54ad18fcd8ffd936d8148513ac041d2b90 100644 --- a/crates/terminal_view/src/terminal_view.rs +++ b/crates/terminal_view/src/terminal_view.rs @@ -651,7 +651,12 @@ impl TerminalView { if let Some(keystroke) = Keystroke::parse(&text.0).log_err() { self.clear_bell(cx); self.terminal.update(cx, |term, cx| { - term.try_keystroke(&keystroke, TerminalSettings::get_global(cx).option_as_meta); + let processed = + term.try_keystroke(&keystroke, TerminalSettings::get_global(cx).option_as_meta); + if processed && term.vi_mode_enabled() { + cx.notify(); + } + processed }); } }