diff --git a/internal/client/ui/core/chat/chat.go b/internal/client/ui/core/chat/chat.go index bebb72f..4aa4612 100644 --- a/internal/client/ui/core/chat/chat.go +++ b/internal/client/ui/core/chat/chat.go @@ -136,8 +136,9 @@ func (m Model) Update(msg tea.Msg) (Model, tea.Cmd) { if m.locked { if key, ok := msg.(tea.KeyMsg); ok { - InNormal := m.vi.Mode() == viminput.NormalMode - if key.String() == "q" && InNormal { + inNormalQ := key.String() == "q" && m.vi.Mode() == viminput.NormalMode + inInsertCtrlQ := key.String() == "ctrl+q" && m.vi.Mode() == viminput.InsertMode + if inNormalQ || inInsertCtrlQ { m.locked = false m.Prerender() return m, nil diff --git a/internal/client/ui/viminput/viminput.go b/internal/client/ui/viminput/viminput.go index 7f1a248..af21915 100644 --- a/internal/client/ui/viminput/viminput.go +++ b/internal/client/ui/viminput/viminput.go @@ -631,6 +631,7 @@ func (m *Model) handleInsertModeKeys(key tea.KeyMsg) { Paste: false, }) m.Yank(paste) + return } if key.Type == tea.KeyTab || key.Type == tea.KeyShiftTab {