diff options
Diffstat (limited to 'modules/vim-which-key.vim')
| -rw-r--r-- | modules/vim-which-key.vim | 106 | 
1 files changed, 106 insertions, 0 deletions
| diff --git a/modules/vim-which-key.vim b/modules/vim-which-key.vim new file mode 100644 index 00000000..0bfb55cf --- /dev/null +++ b/modules/vim-which-key.vim @@ -0,0 +1,106 @@ +" set which key +" +" Any keymapping that involves <leader is here> +nnoremap <silent> <leader> :WhichKey '<Space>'<CR> +let g:which_key_sep = '→' + +" By default timeoutlen is 1000 ms +set timeoutlen=100 + +let g:mapleader = "\<Space>" +let g:maplocalleader = ',' + +let g:which_key_map =  {} +"let g:which_key_default_group_name = '' +"let g:which_key_map.f = { 'name' : '+file' } +"nnoremap <silent> <leader>fs :update<CR> +"let g:which_key_map.f.s = ['update', 'save-file'] + +" This is a funtion to open any file with <leader>(key sequence) +fun! OpenConfigFile(file) +  if (&filetype ==? 'startify') +    execute 'e ' . a:file +  else +    execute 'tabe ' . a:file +  endif +endfun + +nnoremap <silent> <leader>in :call OpenConfigFile('~/.config/nvim/init.vim')<cr> +nnoremap <silent> <leader>bashrc :call OpenConfigFile('~/.bashrc')<cr> +nnoremap <silent> <leader>code :call OpenConfigFile('~/Library/Application Support/Code/User/settings.json')<cr> + +let g:which_key_map['/'] = [ '<Plug>NERDCommenterToggle','commenter' ] +let g:which_key_map['p'] = [ 'pclose','close-preview' ] +let g:which_key_map['q'] = [ 'q','quit' ] +let g:which_key_map['s'] = [ 'w','save' ] + +let g:which_key_map.t = { +      \ 'name' : '+toggle' , +      \ 'f' : ['NERDTreeToggle'    , 'file-explorer']           , +      \ 'b' : ['TagbarToggle'      , 'tagbar']                  , +      \ 'l' : ['set nonumber!'     , 'line-numbers']            , +      \ 's' : ['nohlsearch'        , 'remove-search-highlight'] , +      \ 'c' : ['ColorToggle'       , 'remove-color']            , +      \ } + +let g:which_key_map.h = { +      \ 'name' : '+highlights' , +      \ 's' : ['nohlsearch'     , 'remove-search-highlight'] , +      \ 'c' : ['ColorToggle'    , 'remove-color']            , +      \ } + +      "\ 'f' : ['LanguageClient#textDocument_formatting()'     , 'formatting']       , +let g:which_key_map.l = { +      \ 'name' : '+lsp' , +      \ 'c' : ['LanguageClient_contextMenu()'                 , 'context_menu']     , +      \ 'f' : ['ALEFix'                                       , 'formatting']       , +      \ 'i' : ['ALEInfo'                                      , 'info']             , +      \ 'h' : ['LanguageClient#textDocument_hover()'          , 'hover']            , +      \ 'r' : ['LanguageClient#textDocument_references()'     , 'references']       , +      \ 'R' : ['LanguageClient#textDocument_rename()'         , 'rename']           , +      \ 's' : ['LanguageClient#textDocument_documentSymbol()' , 'document-symbol']  , +      \ 'S' : ['LanguageClient#workspace_symbol()'            , 'workspace-symbol'] , +      \ 'g' : { +        \ 'name': '+goto', +        \ 'd' : ['LanguageClient#textDocument_definition()'     , 'definition']       , +        \ 't' : ['LanguageClient#textDocument_typeDefinition()' , 'type-definition']  , +        \ 'i' : ['LanguageClient#textDocument_implementation()'  , 'implementation']  , +        \ }, +      \ 'p' : { +        \ 'name': '+python', +        \ 'd' : ['<Plug>(pydocstring)'  , 'python-docstring']  , +        \ }, +      \ } + +let g:which_key_map.w = { +      \ 'name' : '+windows' , +      \ 'v' : ['<C-W>v'     , 'split-window-right']    , +      \ 'h' : ['<C-W>s'     , 'split-window-below']    , +      \ 'w' : ['<C-W>w'     , 'other-window']          , +      \ 'o' : ['only'       , 'close-all-other-windows']    , +      \ 'd' : ['<C-W>c'     , 'delete-window']         , +      \ '2' : ['<C-W>v'     , 'layout-double-columns'] , +      \ '=' : ['<C-W>='     , 'balance-window']        , +      \ '?' : ['Windows'    , 'fzf-window']            , +      \ } + +let g:which_key_map.b = { +       \ 'name' : '+buffer' , +       \ '1' : ['b1'        , 'buffer 1']        , +       \ '2' : ['b2'        , 'buffer 2']        , +       \ 'd' : ['bd'        , 'delete-buffer']   , +       \ 'f' : ['bfirst'    , 'first-buffer']    , +       \ 'l' : ['blast'     , 'last-buffer']     , +       \ 'n' : ['bnext'     , 'next-buffer']     , +       \ 'p' : ['bprevious' , 'previous-buffer'] , +       \ '?' : ['Buffers'   , 'fzf-buffer']      , +       \ 's' : ['Startify'  , 'Startify']     , +       \ 'g' : ['Goyo'      , 'Goyo'] , +       \ } + +call which_key#register('<Space>', "g:which_key_map") +nnoremap <silent> <leader> :<c-u>WhichKey '<Space>'<CR> +vnoremap <silent> <leader> :<c-u>WhichKeyVisual '<Space>'<CR> + +""nnoremap <silent> <leader>      :<c-u>WhichKey '<Space>'<CR> +""nnoremap <silent> <localleader> :<c-u>WhichKey  ','<CR> | 
