implemented Ctrl+R command history searching and command history expansion with '\!'
This commit is contained in:
@@ -54,6 +54,15 @@ impl ViMode for ViInsert {
|
||||
.set_motion(MotionCmd(1, Motion::ForwardChar));
|
||||
self.register_and_return()
|
||||
}
|
||||
E(K::ExMode, _) => {
|
||||
Some(ViCmd {
|
||||
register: Default::default(),
|
||||
verb: Some(VerbCmd(1, Verb::ExMode)),
|
||||
motion: None,
|
||||
raw_seq: String::new(),
|
||||
flags: Default::default(),
|
||||
})
|
||||
}
|
||||
E(K::Char('W'), M::CTRL) => {
|
||||
self.pending_cmd.set_verb(VerbCmd(1, Verb::Delete));
|
||||
self.pending_cmd.set_motion(MotionCmd(
|
||||
|
||||
@@ -756,6 +756,15 @@ impl ViMode for ViNormal {
|
||||
raw_seq: "".into(),
|
||||
flags: self.flags(),
|
||||
}),
|
||||
E(K::ExMode, _) => {
|
||||
return Some(ViCmd {
|
||||
register: Default::default(),
|
||||
verb: Some(VerbCmd(1, Verb::ExMode)),
|
||||
motion: None,
|
||||
raw_seq: self.take_cmd(),
|
||||
flags: self.flags(),
|
||||
});
|
||||
}
|
||||
E(K::Char('A'), M::CTRL) => {
|
||||
let count = self
|
||||
.parse_count(&mut self.pending_seq.chars().peekable())
|
||||
|
||||
@@ -41,6 +41,15 @@ impl ViMode for ViReplace {
|
||||
.set_motion(MotionCmd(1, Motion::ForwardChar));
|
||||
self.register_and_return()
|
||||
}
|
||||
E(K::ExMode, _) => {
|
||||
Some(ViCmd {
|
||||
register: Default::default(),
|
||||
verb: Some(VerbCmd(1, Verb::ExMode)),
|
||||
motion: None,
|
||||
raw_seq: String::new(),
|
||||
flags: Default::default(),
|
||||
})
|
||||
}
|
||||
E(K::Char('W'), M::CTRL) => {
|
||||
self.pending_cmd.set_verb(VerbCmd(1, Verb::Delete));
|
||||
self.pending_cmd.set_motion(MotionCmd(
|
||||
|
||||
@@ -614,6 +614,15 @@ impl ViMode for ViVisual {
|
||||
raw_seq: "".into(),
|
||||
flags: CmdFlags::empty(),
|
||||
}),
|
||||
E(K::ExMode, _) => {
|
||||
return Some(ViCmd {
|
||||
register: Default::default(),
|
||||
verb: Some(VerbCmd(1, Verb::ExMode)),
|
||||
motion: None,
|
||||
raw_seq: String::new(),
|
||||
flags: Default::default(),
|
||||
});
|
||||
}
|
||||
E(K::Char('A'), M::CTRL) => {
|
||||
let count = self
|
||||
.parse_count(&mut self.pending_seq.chars().peekable())
|
||||
|
||||
Reference in New Issue
Block a user