+"REMAPS:
+" Use ctrl-[hjkl] to select the active split!
+nmap <silent> <c-k> :wincmd k<CR>
+nmap <silent> <c-j> :wincmd j<CR>
+nmap <silent> <c-h> :wincmd h<CR>
+nmap <silent> <c-l> :wincmd l<CR>
+inoremap jk <ESC>
+nnoremap <C-s> :w<CR>
+noremap <silent> <expr> j (v:count == 0 ? 'gj' : 'j')
+noremap <silent> <expr> k (v:count == 0 ? 'gk' : 'k')
+nnoremap <leader>v :Vex<CR>
+nnoremap <leader>h :Sex<CR>
+"searcher function
+function! Grepper()
+ call inputsave()
+ let replacement = input('RegExp: ')
+ let workdir = input('Directory: ')
+ call inputrestore()
+ execute 'grep! -Irn '.replacement.' '.workdir
+endfunction
+nnoremap <silent> <leader>g :call Grepper()<CR>:copen<CR>
+
+
+
+" this is an auto changer for relative numbers
+:augroup numbertoggle
+: autocmd!
+: autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
+: autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber
+:augroup END
+