diff options
-rw-r--r-- | plugin/move.vim | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/plugin/move.vim b/plugin/move.vim index 88680cd..aa89f40 100644 --- a/plugin/move.vim +++ b/plugin/move.vim @@ -50,9 +50,14 @@ function! s:inner_next(operator, ai, open, close) abort if v:operator =~ "[cd]" " Cheese a 0-width by inserting a space to then immediately delete for d and c operators. exec "normal! i \<esc>v" - else - " Other operations, just reset the position to what it was before. + elseif v:operator =~ "[y]" + " Yank operation, don't do anything. call setpos('.', opos) + else + let [a, l, c, b] = getpos(".") + call setpos("'<", [a, l, c, b]) + call setpos("'>", [a, l, c-1, b]) + normal! gv endif return endif |