From 225a5f7ffb9872673df35b7978b5e2bacdc12190 Mon Sep 17 00:00:00 2001 From: Bryant Rolfe Date: Tue, 9 Dec 2025 14:41:10 -0800 Subject: [PATCH] Add vim-style navigation for CLI option selection (#7784) ## Summary Support "j" and "k" keys as aliases for "down" and "up" so vim users feel loved. Only support these keys when the selection is not searchable. ## Testing - env -u NO_COLOR TERM=xterm-256color cargo test -p codex-tui ------ [Codex Task](https://chatgpt.com/codex/tasks/task_i_693771b53bc8833088669060dfac2083) --- codex-rs/tui/src/bottom_pane/list_selection_view.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/codex-rs/tui/src/bottom_pane/list_selection_view.rs b/codex-rs/tui/src/bottom_pane/list_selection_view.rs index 26a32a42e..d23fd8ed3 100644 --- a/codex-rs/tui/src/bottom_pane/list_selection_view.rs +++ b/codex-rs/tui/src/bottom_pane/list_selection_view.rs @@ -284,6 +284,11 @@ impl BottomPaneView for ListSelectionView { modifiers: KeyModifiers::NONE, .. } /* ^P */ => self.move_up(), + KeyEvent { + code: KeyCode::Char('k'), + modifiers: KeyModifiers::NONE, + .. + } if !self.is_searchable => self.move_up(), KeyEvent { code: KeyCode::Down, .. @@ -298,6 +303,11 @@ impl BottomPaneView for ListSelectionView { modifiers: KeyModifiers::NONE, .. } /* ^N */ => self.move_down(), + KeyEvent { + code: KeyCode::Char('j'), + modifiers: KeyModifiers::NONE, + .. + } if !self.is_searchable => self.move_down(), KeyEvent { code: KeyCode::Backspace, ..