aboutsummaryrefslogtreecommitdiff
path: root/alacritty_terminal
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty_terminal')
-rw-r--r--alacritty_terminal/src/term/mod.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/alacritty_terminal/src/term/mod.rs b/alacritty_terminal/src/term/mod.rs
index fa2c5513..926b89d7 100644
--- a/alacritty_terminal/src/term/mod.rs
+++ b/alacritty_terminal/src/term/mod.rs
@@ -2083,7 +2083,6 @@ impl<T: EventListener> Handler for Term<T> {
mem::swap(&mut self.grid, &mut self.inactive_grid);
}
self.active_charset = Default::default();
- self.mode = Default::default();
self.colors = self.original_colors;
self.color_modified = [false; color::COUNT];
self.cursor_style = None;
@@ -2095,6 +2094,10 @@ impl<T: EventListener> Handler for Term<T> {
self.title = None;
self.selection = None;
self.regex_search = None;
+
+ // Preserve vi mode across resets.
+ self.mode &= TermMode::VI;
+ self.mode.insert(TermMode::default());
}
#[inline]