From 0023eafc4c81830bb593ef0dc843a319fa7d0a43 Mon Sep 17 00:00:00 2001 From: Thorben Kroeger Date: Sun, 22 Mar 2015 11:04:41 +0100 Subject: [PATCH] FakeVim: fix yank register The yank register "0 is only used when using y{motion} commands. This fixes the following: In normal mode: input: |aaa bbb ccc keys: yiw w diw "0P result: aaa aaa ccc Change-Id: I7fb8a62aed29b753ff8b129b5a8aa5f8e965026e Reviewed-by: hjk --- src/plugins/fakevim/fakevimhandler.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/plugins/fakevim/fakevimhandler.cpp b/src/plugins/fakevim/fakevimhandler.cpp index d8dcc3578e4..be62edb62e6 100644 --- a/src/plugins/fakevim/fakevimhandler.cpp +++ b/src/plugins/fakevim/fakevimhandler.cpp @@ -6935,9 +6935,6 @@ void FakeVimHandler::Private::yankText(const Range &range, int reg) // If register is not specified or " ... if (m_register == '"') { - // copy to yank register 0 too - setRegister('0', text, range.rangemode); - // with delete and change commands set register 1 (if text contains more lines) or // small delete register - if (g.submode == DeleteSubMode || g.submode == ChangeSubMode) { @@ -6945,6 +6942,9 @@ void FakeVimHandler::Private::yankText(const Range &range, int reg) setRegister('1', text, range.rangemode); else setRegister('-', text, range.rangemode); + } else { + // copy to yank register 0 too + setRegister('0', text, range.rangemode); } } else { // Always copy to " register too.