diff options
| author | Teddy Wing | 2015-11-23 23:39:17 -0500 |
|---|---|---|
| committer | Teddy Wing | 2015-11-23 23:39:17 -0500 |
| commit | ffa7c57008a7ff501de0bd61d1c8e4b9ad23e28f (patch) | |
| tree | 354bde16ac3ca804b8877b13e8c73ebd011dacae /autoload | |
| parent | 60dd7674aa2508160728896c80438149ca6b7139 (diff) | |
| download | auditory.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.vim | 11 |
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. |
