+++ /dev/null
-" Notes:
-" (1) To enhance the ergonomics of this sufficiently to make it practical, at
-" least, until your brain grows a new lobe dedicated to counting line offsets
-" in the background while you work, you should either make sure you have
-" something like the following in your `~/.vimrc`:
-"
-" set number
-" if has('autocmd')
-" augroup vimrc_linenumbering
-" autocmd!
-" autocmd WinLeave *
-" \ if &number |
-" \ set norelativenumber |
-" \ endif
-" autocmd BufWinEnter *
-" \ if &number |
-" \ set relativenumber |
-" \ endif
-" autocmd VimEnter *
-" \ if &number |
-" \ set relativenumber |
-" \ endif
-" augroup END
-" endif
-"
-" or you have installed a plugin like
-" (vim-numbers)[https://github.com/myusuf3/numbers.vim].
-"
-" (2) You might want to relax the constraint for horizontal motions, or
-" add other motions. You can customize the list of motions by
-" specifying the keys in the
-" `g:keys_to_disable_if_not_preceded_by_count` variable. For example,
-" the following only enforces count-prefixed motions for "j" and "k":
-"
-" let g:keys_to_disable_if_not_preceded_by_count = ["j", "k"]
-
-function! DisableIfNonCounted(move) range
- if v:count
- return a:move
- else
- " You can make this do something annoying like:
- " echoerr "Count required!"
- " sleep 2
- return ""
- endif
-endfunction
-
-function! SetDisablingOfBasicMotionsIfNonCounted(on)
- let keys_to_disable = get(g:, "keys_to_disable_if_not_preceded_by_count", ["j", "k", "l", "h"])
- if a:on
- for key in keys_to_disable
- execute "noremap <expr> <silent> " . key . " DisableIfNonCounted('" . key . "')"
- endfor
- let g:keys_to_disable_if_not_preceded_by_count = keys_to_disable
- let g:is_non_counted_basic_motions_disabled = 1
- else
- for key in keys_to_disable
- try
- execute "unmap " . key
- catch /E31:/
- endtry
- endfor
- let g:is_non_counted_basic_motions_disabled = 0
- endif
-endfunction
-
-function! ToggleDisablingOfBasicMotionsIfNonCounted()
- let is_disabled = get(g:, "is_non_counted_basic_motions_disabled", 0)
- if is_disabled
- call SetDisablingOfBasicMotionsIfNonCounted(0)
- else
- call SetDisablingOfBasicMotionsIfNonCounted(1)
- endif
-endfunction
-
-command! ToggleDisablingOfNonCountedBasicMotions :call ToggleDisablingOfBasicMotionsIfNonCounted()
-command! DisableNonCountedBasicMotions :call SetDisablingOfBasicMotionsIfNonCounted(1)
-command! EnableNonCountedBasicMotions :call SetDisablingOfBasicMotionsIfNonCounted(0)
-
-DisableNonCountedBasicMotions
\ No newline at end of file