From 2bdad19253c7a123fc194337509b72d46cd63338 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Thu, 4 Jan 2018 21:15:13 +0800 Subject: [PATCH] vim-mode: fix % behovior in d/c command --- src/utils/vvim.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/utils/vvim.cpp b/src/utils/vvim.cpp index fb1bae51..18266734 100644 --- a/src/utils/vvim.cpp +++ b/src/utils/vvim.cpp @@ -3346,13 +3346,21 @@ handle_target: second = tmp; } - --second; + if (!(checkMode(VimMode::Normal) && p_moveMode == QTextCursor::KeepAnchor)) { + --second; + } int target = first; if (first == pairPosition) { target = second; } + if (anchor > target + && !p_cursor.atEnd() + && !useLeftSideOfCursor(p_cursor)) { + ++anchor; + } + p_cursor.setPosition(anchor); p_cursor.setPosition(target, p_moveMode);