diff options
Diffstat (limited to '.config/nvim/keys')
| -rw-r--r-- | .config/nvim/keys/mappings.vim | 44 | ||||
| -rw-r--r-- | .config/nvim/keys/which-key.vim | 67 | 
2 files changed, 111 insertions, 0 deletions
diff --git a/.config/nvim/keys/mappings.vim b/.config/nvim/keys/mappings.vim new file mode 100644 index 0000000..1b5ae4f --- /dev/null +++ b/.config/nvim/keys/mappings.vim @@ -0,0 +1,44 @@ +" Better nav for omnicomplete +inoremap <expr> <c-j> ("\<C-n>") +inoremap <expr> <c-k> ("\<C-p>") + +" Use alt + hjkl to resize windows +nnoremap <M-j>    :resize -2<CR> +nnoremap <M-k>    :resize +2<CR> +nnoremap <M-h>    :vertical resize -2<CR> +nnoremap <M-l>    :vertical resize +2<CR> + +" I hate escape more than anything else +" inoremap jk <Esc> +" inoremap kj <Esc> + +" Easy CAPS +" inoremap <c-u> <ESC>viwUi +" nnoremap <c-u> viwU<Esc> + +" TAB in general mode will move to text buffer +nnoremap <TAB> :bnext<CR> +" SHIFT-TAB will go back +nnoremap <S-TAB> :bprevious<CR> + +" Alternate way to save +nnoremap <C-s> :w<CR> +" Alternate way to quit +nnoremap <C-Q> :wq!<CR> +" Use control-c instead of escape +nnoremap <C-c> <Esc> +" <TAB>: completion. +inoremap <expr><TAB> pumvisible() ? "\<C-n>" : "\<TAB>" + +" Better tabbing +vnoremap < <gv +vnoremap > >gv + +" Better window navigation +nnoremap <C-h> <C-w>h +nnoremap <C-j> <C-w>j +nnoremap <C-k> <C-w>k +nnoremap <C-l> <C-w>l + +nnoremap <Leader>o o<Esc>^Da +nnoremap <Leader>O O<Esc>^Da 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")  | 
