From f9aed867ca8b9dea01647e57fec70393f8e053cb Mon Sep 17 00:00:00 2001 From: Sam Tay Date: Sun, 28 Jun 2020 18:27:52 -0700 Subject: Improve scrolling controls --- src/tui/app.rs | 12 +++++++----- src/tui/views.rs | 17 +++++++++++++++-- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/tui/app.rs b/src/tui/app.rs index 023955f..5d2515a 100644 --- a/src/tui/app.rs +++ b/src/tui/app.rs @@ -148,11 +148,13 @@ pub fn help() -> Dialog { **Space**: Cycle layout (4 Pane, 2 Pane, FullScreen) ## Scroll -**h,j,k,l**: ←,↓,↑,→ -**Ctrl, Ctrl**: ↑ x 10 -**Ctrl, Ctrl**: ↓ x 10 -**gg**: Scroll To Top -**G**: Scroll To Bottom +**h,j,k,l**: ←,↓,↑,→ +**Ctrl**: ↑ x 5 +**Ctrl**: ↓ x 5 +**Ctrl**: ↑ x 10 +**Ctrl**: ↓ x 10 +**gg**: Scroll To Top +**G**: Scroll To Bottom ## Misc **ZZ, Ctrl**: Exit diff --git a/src/tui/views.rs b/src/tui/views.rs index 3dc12a8..f191830 100644 --- a/src/tui/views.rs +++ b/src/tui/views.rs @@ -550,12 +550,25 @@ impl ViewWrapper for VimBindingsView { Event::Char('l') => { return self.view.on_event(Event::Key(Key::Right)); } - Event::CtrlChar('d') | Event::CtrlChar('f') => { + Event::CtrlChar('d') => { return self.view.on_event(Event::Key(Key::PageDown)); } - Event::CtrlChar('u') | Event::CtrlChar('b') => { + Event::CtrlChar('f') => { + // Double page down + let res = self.view.on_event(Event::Key(Key::PageDown)); + self.view.on_event(Event::Key(Key::PageDown)); + // Return whether or not initial page down was consumed + return res; + } + Event::CtrlChar('u') => { return self.view.on_event(Event::Key(Key::PageUp)); } + Event::CtrlChar('b') => { + // Double page up + let res = self.view.on_event(Event::Key(Key::PageUp)); + self.view.on_event(Event::Key(Key::PageUp)); + return res; + } Event::Char('G') => { return self.view.on_event(Event::Key(Key::End)); } -- cgit v1.2.3