aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTeddy Wing2020-09-29 01:08:31 +0200
committerTeddy Wing2020-09-29 01:17:26 +0200
commitb39b957b700e98035dd8aa7608feab71d6181c95 (patch)
tree064027a08f56b6a06d07af1542f503dfff99b15d
parent5b5a30da2230b5cd78434c7195c83bd9e108e744 (diff)
downloadvim-grappele-b39b957b700e98035dd8aa7608feab71d6181c95.tar.bz2
Change v_gG and o_gG to <expr> mappings
Fix visual mode bug where when the cursor is at the top of a visual selection, pressing `gG` changes the bottom of the visual selection instead of the top.
-rw-r--r--autoload/grappele.vim2
-rw-r--r--plugin/grappele.vim4
2 files changed, 3 insertions, 3 deletions
diff --git a/autoload/grappele.vim b/autoload/grappele.vim
index c2257d8..423723b 100644
--- a/autoload/grappele.vim
+++ b/autoload/grappele.vim
@@ -14,7 +14,7 @@ function! grappele#Recall(mode)
let l:line = visualmode() . l:line
endif
- execute 'normal! ' . l:line . 'G'
+ return l:line . 'G'
endif
endfunction
diff --git a/plugin/grappele.vim b/plugin/grappele.vim
index 21c5cc7..f85b2b4 100644
--- a/plugin/grappele.vim
+++ b/plugin/grappele.vim
@@ -5,8 +5,8 @@ let g:loaded_grappele = 1
nnoremap <silent> <Plug>Grappele grappele#Grappele(v:count, 'n')
-nnoremap <silent> <Plug>GrappeleRecall :<C-u>call grappele#Recall('n')<cr>
-vnoremap <silent> <Plug>GrappeleRecall :<C-u>call grappele#Recall('v')<cr>
+nnoremap <silent> <expr> <Plug>GrappeleRecall grappele#Recall('n')
+vnoremap <silent> <expr> <Plug>GrappeleRecall grappele#Recall('v')
onoremap <silent> <expr> <Plug>GrappeleRecall grappele#ORecall()
if !hasmapto('<Plug>Grappele') || !maparg('G', 'n')