1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-02-03 01:10:05 +08:00

Add key frequency feature

This commit is contained in:
wsdjeg 2017-04-03 13:12:35 +08:00
parent ab55eff7ce
commit b1241ef10f
4 changed files with 21 additions and 5 deletions

View File

@ -86,8 +86,12 @@ let g:spacevim_plugin_bundle_dir
" < " <
let g:spacevim_realtime_leader_guide = 0 let g:spacevim_realtime_leader_guide = 0
"" ""
" Enable/Disable key frequency catching of SpaceVim. " Enable/Disable key frequency catching of SpaceVim. default value is 0. to
let g:spacevim_enable_key_frequency = 1 " enable it:
" >
" let g:spacevim_enable_key_frequency = 1
" <
let g:spacevim_enable_key_frequency = 0
let g:spacevim_autocomplete_method = '' let g:spacevim_autocomplete_method = ''
let g:spacevim_enable_cursorcolumn = 0 let g:spacevim_enable_cursorcolumn = 0
"" ""

View File

@ -38,7 +38,11 @@ function! SpaceVim#mapping#def(type, key, value, ...) abort
let gexe = substitute(gexe, '<Esc>', "\<Esc>", 'g') let gexe = substitute(gexe, '<Esc>', "\<Esc>", 'g')
else else
endif endif
exec a:type . ' ' . a:key . ' ' . a:value if g:spacevim_enable_key_frequency
exec a:type . ' <expr> ' . a:key . " SpaceVim#mapping#frequency#update('" . a:key . "', '" . a:value . "')"
else
exec a:type . ' ' . a:key . ' ' . a:value
endif
if a:0 > 0 if a:0 > 0
let desc = a:1 let desc = a:1
let description = '➤ ' let description = '➤ '

View File

@ -1,11 +1,12 @@
let s:data = {} let s:data = {}
function! SpaceVim#mapping#frequency#update(key) abort function! SpaceVim#mapping#frequency#update(key, rhs) abort
if has_key(s:data, a:key) if has_key(s:data, a:key)
let s:data[a:key] += 1 let s:data[a:key] += 1
else else
let s:data[a:key] = 1 let s:data[a:key] = 1
endif endif
return a:rhs
endfunction endfunction
function! SpaceVim#mapping#frequency#view(keys) abort function! SpaceVim#mapping#frequency#view(keys) abort
@ -17,6 +18,9 @@ function! SpaceVim#mapping#frequency#view(keys) abort
endfor endfor
endif endif
endfunction endfunction
function! SpaceVim#mapping#frequency#viewall() abort
echo string(s:data)
endfunction
function! s:get(key) abort function! s:get(key) abort
if has_key(s:data, a:key) if has_key(s:data, a:key)

View File

@ -117,7 +117,11 @@ Enable/Disable realtime leader guide. Default is 0.
< <
*g:spacevim_enable_key_frequency* *g:spacevim_enable_key_frequency*
Enable/Disable key frequency catching of SpaceVim. Enable/Disable key frequency catching of SpaceVim. default value is 0. to
enable it:
>
let g:spacevim_enable_key_frequency = 1
<
*g:spacevim_enable_neomake* *g:spacevim_enable_neomake*
SpaceVim default checker is neomake. If you want to use syntastic, use: SpaceVim default checker is neomake. If you want to use syntastic, use: