aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/keys/which-key.vim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim/keys/which-key.vim')
-rw-r--r--.config/nvim/keys/which-key.vim67
1 files changed, 67 insertions, 0 deletions
diff --git a/.config/nvim/keys/which-key.vim b/.config/nvim/keys/which-key.vim
new file mode 100644
index 0000000..4105b61
--- /dev/null
+++ b/.config/nvim/keys/which-key.vim
@@ -0,0 +1,67 @@
+" Map leader to which_key
+nnoremap <silent> <leader> :silent WhichKey '<Space>'<CR>
+vnoremap <silent> <leader> :silent <c-u> :silent WhichKeyVisual '<Space>'<CR>
+
+" Create map to add keys to
+let g:which_key_map = {}
+" Define a separator
+let g:which_key_sep = '→'
+" set timeoutlen=100
+
+
+" Not a fan of floating windows for this
+let g:which_key_use_floating_win = 0
+
+" Change the colors if you want
+highlight default link WhichKey Operator
+highlight default link WhichKeySeperator DiffAdded
+highlight default link WhichKeyGroup Identifier
+highlight default link WhichKeyDesc Function
+
+" Hide status line
+autocmd! FileType which_key
+autocmd FileType which_key set laststatus=0 noshowmode noruler
+ \| autocmd BufLeave <buffer> set laststatus=2 noshowmode ruler
+
+" Single mappings
+let g:which_key_map['/'] = [ '<Plug>NERDCommenterToggle' , 'comment' ]
+let g:which_key_map['e'] = [ ':CocCommand explorer' , 'explorer' ]
+let g:which_key_map['f'] = [ ':Files' , 'search files' ]
+let g:which_key_map['h'] = [ '<C-W>s' , 'split below']
+let g:which_key_map['r'] = [ ':Ranger' , 'ranger' ]
+let g:which_key_map['S'] = [ ':Startify' , 'start screen' ]
+let g:which_key_map['T'] = [ ':Rg' , 'search text' ]
+let g:which_key_map['v'] = [ '<C-W>v' , 'split right']
+let g:which_key_map['z'] = [ 'Goyo' , 'zen' ]
+
+" s is for search
+let g:which_key_map.s = {
+ \ 'name' : '+search' ,
+ \ '/' : [':History/' , 'history'],
+ \ ';' : [':Commands' , 'commands'],
+ \ 'a' : [':Ag' , 'text Ag'],
+ \ 'b' : [':BLines' , 'current buffer'],
+ \ 'B' : [':Buffers' , 'open buffers'],
+ \ 'c' : [':Commits' , 'commits'],
+ \ 'C' : [':BCommits' , 'buffer commits'],
+ \ 'f' : [':Files' , 'files'],
+ \ 'g' : [':GFiles' , 'git files'],
+ \ 'G' : [':GFiles?' , 'modified git files'],
+ \ 'h' : [':History' , 'file history'],
+ \ 'H' : [':History:' , 'command history'],
+ \ 'l' : [':Lines' , 'lines'] ,
+ \ 'm' : [':Marks' , 'marks'] ,
+ \ 'M' : [':Maps' , 'normal maps'] ,
+ \ 'p' : [':Helptags' , 'help tags'] ,
+ \ 'P' : [':Tags' , 'project tags'],
+ \ 's' : [':Snippets' , 'snippets'],
+ \ 'S' : [':Colors' , 'color schemes'],
+ \ 't' : [':Rg' , 'text Rg'],
+ \ 'T' : [':BTags' , 'buffer tags'],
+ \ 'w' : [':Windows' , 'search windows'],
+ \ 'y' : [':Filetypes' , 'file types'],
+ \ 'z' : [':FZF' , 'FZF'],
+ \ }
+
+" Register which key map
+call which_key#register('<Space>', "g:which_key_map")