From 9c5ae766a2ce346fac1ad488af4b164d977ed4cf Mon Sep 17 00:00:00 2001 From: hluk Date: Mon, 12 Aug 2013 19:43:08 +0200 Subject: [PATCH] FakeVim: Fix scrolling on small movement Fixes scrolling to center text cursor on screen on j/k and h/l on last visible line. Change-Id: I65a1144a99f44a3df4217bc8eb6ee5ae6ef89ad4 Reviewed-by: hjk --- src/plugins/fakevim/fakevimhandler.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index 8e573997366..c13ea02e930 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -2145,7 +2145,7 @@ void FakeVimHandler::Private::leaveFakeVim(bool needUpdate) // Move cursor line to middle of screen if it's not visible. const int line = cursorLine(); - if (line < firstVisibleLine() || line >= firstVisibleLine() + linesOnScreen()) + if (line < firstVisibleLine() || line > firstVisibleLine() + linesOnScreen()) scrollToLine(qMax(0, line - linesOnScreen() / 2)); else scrollToLine(firstVisibleLine()); @@ -2839,6 +2839,7 @@ void FakeVimHandler::Private::moveDown(int n) setPosition(position); moveToTargetColumn(); + updateScrollOffset(); } void FakeVimHandler::Private::movePageDown(int count)