aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--atuin/src/command/client/search/interactive.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/atuin/src/command/client/search/interactive.rs b/atuin/src/command/client/search/interactive.rs
index 8c6a672b..bd25cf7b 100644
--- a/atuin/src/command/client/search/interactive.rs
+++ b/atuin/src/command/client/search/interactive.rs
@@ -265,6 +265,18 @@ impl State {
// First handle keymap specific keybindings.
match self.keymap_mode {
KeymapMode::VimNormal => match input.code {
+ KeyCode::Char('/') if !ctrl => {
+ self.search.input.clear();
+ self.set_keymap_cursor(settings, "vim_insert");
+ self.keymap_mode = KeymapMode::VimInsert;
+ return InputAction::Continue;
+ }
+ KeyCode::Char('?') if !ctrl => {
+ self.search.input.clear();
+ self.set_keymap_cursor(settings, "vim_insert");
+ self.keymap_mode = KeymapMode::VimInsert;
+ return InputAction::Continue;
+ }
KeyCode::Char('j') if !ctrl => {
return self.handle_search_down(settings, true);
}
@@ -296,6 +308,12 @@ impl State {
self.keymap_mode = KeymapMode::VimInsert;
return InputAction::Continue;
}
+ KeyCode::Char('I') if !ctrl => {
+ self.search.input.start();
+ self.set_keymap_cursor(settings, "vim_insert");
+ self.keymap_mode = KeymapMode::VimInsert;
+ return InputAction::Continue;
+ }
KeyCode::Char(_) if !ctrl => {
return InputAction::Continue;
}