aboutsummaryrefslogtreecommitdiffstats
path: root/autoload
diff options
context:
space:
mode:
authorTeddy Wing2015-11-23 23:39:17 -0500
committerTeddy Wing2015-11-23 23:39:17 -0500
commitffa7c57008a7ff501de0bd61d1c8e4b9ad23e28f (patch)
tree354bde16ac3ca804b8877b13e8c73ebd011dacae /autoload
parent60dd7674aa2508160728896c80438149ca6b7139 (diff)
downloadauditory.vim-ffa7c57008a7ff501de0bd61d1c8e4b9ad23e28f.tar.bz2
Fix normal mode `G` mapping
Pressing `G` would bring the cursor to the first line in the buffer instead of the last line in the buffer because the count in the mapping was always `v:count1`. This meant that the `G` mapping behaved like `1G` when no count was specified. This change fixes the `G` mapping to use `v:count` so that it goes to the last line in the buffer as expected. We also add support for arbitrary mappings to choose whether they want to be `v:count` or `v:count1` depending on what value is specified in the mapping dict.
Diffstat (limited to 'autoload')
-rw-r--r--autoload/auditory.vim11
1 files changed, 7 insertions, 4 deletions
diff --git a/autoload/auditory.vim b/autoload/auditory.vim
index d618451..bae93e5 100644
--- a/autoload/auditory.vim
+++ b/autoload/auditory.vim
@@ -374,7 +374,7 @@ let g:auditory_mappings['gg'] = {
\ }
let g:auditory_mappings['G'] = {
\ 'audio': '/Resources/Normal_Mode/Jump.wav',
- \ 'count': 1,
+ \ 'count': 0,
\ }
let g:auditory_mappings['x'] = {
@@ -447,9 +447,12 @@ function! auditory#AssignMappings()
endif
endif
- let l:map_to_with_count = has_key(value, 'count') ?
- \ "execute 'normal!' v:count1 . '" . l:map_to . "'<cr>" :
- \ l:map_to
+ if has_key(value, 'count')
+ let vcount = value.count ==# 1 ? 'v:count1' : 'v:count'
+ let l:map_to_with_count = "execute 'normal!' " . vcount . " . '" . l:map_to . "'<cr>"
+ else
+ let l:map_to_with_count = l:map_to
+ endif
" If this an `execute` mapping, add a pipe.
" Otherwise <cr> to exit command mode.