diff options
author | ChristianChiarulli <[email protected]> | 2019-02-20 12:24:54 -0500 |
---|---|---|
committer | ChristianChiarulli <[email protected]> | 2019-02-20 12:24:54 -0500 |
commit | 718b37578cca47c3bf25a6a4439f28322b4f46c9 (patch) | |
tree | 7727d34e6cd423609dfe4219f36d06ddd58567f4 /modules/vim-which-key.vim | |
parent | 58e442cabcda44468718f8b5811f9ce5eeb0fa10 (diff) |
added which key and remapped bindings
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> |