Commit 21f15207 authored by hjk's avatar hjk
Browse files

Fixes: fakevim: more 'z' commands

parent ccfbdf5b
......@@ -688,17 +688,27 @@ bool FakeVimHandler::Private::handleCommandMode(int key, int unmodified,
indentRegion(m_tc.block(), m_tc.block().next());
finishMovement();
} else if (m_submode == ZSubMode) {
if (key == Key_Return) {
// cursor line to top of window, cursor on first non-blank
//qDebug() << "Z_MODE " << cursorLineInDocument() << linesOnScreen();
if (key == Key_Return || key == 't') { // cursor line to top of window
if (!m_mvcount.isEmpty())
m_tc.setPosition(positionForLine(count()));
scrollToLineInDocument(cursorLineInDocument());
moveToFirstNonBlankOnLine();
if (key == Key_Return)
moveToFirstNonBlankOnLine();
finishMovement();
} else if (key == '.') { // center cursor line
} else if (key == '.' || key == 'z') { // cursor line to center of window
if (!m_mvcount.isEmpty())
m_tc.setPosition(positionForLine(count()));
scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() / 2);
moveToFirstNonBlankOnLine();
if (key == '.')
moveToFirstNonBlankOnLine();
finishMovement();
} else if (key == 'z') { // center cursor line
scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() / 2);
} else if (key == '-' || key == 'b') { // cursor line to bottom of window
if (!m_mvcount.isEmpty())
m_tc.setPosition(positionForLine(count()));
scrollToLineInDocument(cursorLineInDocument() - linesOnScreen() - 1);
if (key == '-')
moveToFirstNonBlankOnLine();
finishMovement();
} else {
qDebug() << "IGNORED Z_MODE " << key << text;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment