diff --git a/yazi-core/src/input/commands/move_.rs b/yazi-core/src/input/commands/move_.rs index cda394e0..b58e2a48 100644 --- a/yazi-core/src/input/commands/move_.rs +++ b/yazi-core/src/input/commands/move_.rs @@ -39,7 +39,7 @@ impl Input { ); let snap = self.snap_mut(); - if snap.cursor < snap.offset { + if snap.offset > snap.cursor { snap.offset = snap.cursor; } else if snap.value.is_empty() { snap.offset = 0; diff --git a/yazi-core/src/input/commands/type_.rs b/yazi-core/src/input/commands/type_.rs index f4b90ed8..44df4036 100644 --- a/yazi-core/src/input/commands/type_.rs +++ b/yazi-core/src/input/commands/type_.rs @@ -55,11 +55,13 @@ impl Input { std::ops::Bound::Excluded(_) => unreachable!(), std::ops::Bound::Unbounded => 0, }; - if snap.value.drain(range).next().is_some() { - self.flush_value(); - return true; + if snap.value.drain(range).next().is_none() { + return false; } - false + + self.move_(0); + self.flush_value(); + true } fn backspace(&mut self, under: bool) -> bool {