From 2f7fda525f2e36c444aa387bb57cd18e7744bca1 Mon Sep 17 00:00:00 2001 From: wsdjeg Date: Tue, 18 Apr 2017 22:04:56 +0800 Subject: [PATCH] Add SPC? mapping --- autoload/SpaceVim/mapping.vim | 9 +++++++++ autoload/SpaceVim/mapping/space.vim | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/autoload/SpaceVim/mapping.vim b/autoload/SpaceVim/mapping.vim index 77f5d4951..4059b5785 100644 --- a/autoload/SpaceVim/mapping.vim +++ b/autoload/SpaceVim/mapping.vim @@ -207,7 +207,16 @@ function! SpaceVim#mapping#close_term_buffer(...) abort endif endif endif +endfunction +function! SpaceVim#mapping#menu(desc, key, cmd) abort + let description = '➤ ' + \. a:desc + \. repeat(' ', 80 - len(a:desc) - len(a:key)) + \. a:key + call add(g:unite_source_menu_menus.CustomKeyMaps.command_candidates, + \ [description , + \ a:cmd]) endfunction " vim:set et sw=2 cc=80: diff --git a/autoload/SpaceVim/mapping/space.vim b/autoload/SpaceVim/mapping/space.vim index d9743e529..ef6e86031 100644 --- a/autoload/SpaceVim/mapping/space.vim +++ b/autoload/SpaceVim/mapping/space.vim @@ -5,19 +5,24 @@ function! SpaceVim#mapping#space#init() abort nnoremap [SPC] :LeaderGuide " " nmap [SPC] let g:_spacevim_mappings_space = {} + let g:_spacevim_mappings_space['?'] = ['Unite menu:CustomKeyMaps -input=[SPC]', 'show mappings'] let g:_spacevim_mappings_space.t = {'name' : '+Toggle editor visuals'} let g:_spacevim_mappings_space.a = {'name' : '+Applications'} let g:_spacevim_mappings_space.b = {'name' : '+Buffers'} nnoremap [SPC]bn :bnext let g:_spacevim_mappings_space.b.n = ['bnext', 'next buffer'] + call SpaceVim#mapping#menu('Open next buffer', '[SPC]bn', 'bp') nnoremap [SPC]bp :bp nnoremap [SPC]bN :bN let g:_spacevim_mappings_space.b.p = ['bp', 'previous buffer'] + call SpaceVim#mapping#menu('Open previous buffer', '[SPC]bp', 'bp') let g:_spacevim_mappings_space.b.N = ['bN', 'previous buffer'] + call SpaceVim#mapping#menu('Open previous buffer', '[SPC]bN', 'bp') let g:_spacevim_mappings_space.e = {'name' : '+Errors'} let g:_spacevim_mappings_space.B = {'name' : '+Global-uffers'} nnoremap [SPC]tn :set nu! let g:_spacevim_mappings_space.t.n = ['set nu!', 'toggle line number'] + call SpaceVim#mapping#menu('toggle line number', '[SPC]tn', 'set nu!') endfunction function! SpaceVim#mapping#space#def(m, keys, cmd, desc, is_cmd) abort @@ -42,6 +47,7 @@ function! SpaceVim#mapping#space#def(m, keys, cmd, desc, is_cmd) abort elseif len(a:keys) == 1 let g:_spacevim_mappings_space[a:keys[0]] = [lcmd, a:desc] endif + call SpaceVim#mapping#menu(a:desc, '[SPC]' . join(a:keys, ''), lcmd) endfunction function! s:has_map_to_spc() abort