vim/vimrc.d/mappings.vim

103 lines
2.5 KiB
VimL
Raw Normal View History

2018-03-17 23:59:01 +00:00
" key #mappings{{{
2018-03-27 09:27:34 +00:00
let mapleader = ' '
2018-03-17 23:59:01 +00:00
2018-03-20 22:20:40 +00:00
nnoremap <silent> <space>rc :so $MYVIMRC<CR>
2018-03-17 23:59:01 +00:00
" Focus on current fold, close the rest
2018-03-20 22:20:40 +00:00
nnoremap <silent> <space>zz zMzvzt
2018-03-17 23:59:01 +00:00
" replace current word with last yanked/deleted text
2018-03-20 22:20:40 +00:00
nnoremap <silent> <space>rr "_diwP
2018-03-17 23:59:01 +00:00
" replace current word with last yanked text
2018-03-20 22:20:40 +00:00
nnoremap <silent> <space>ry diw"0P
2018-03-17 23:59:01 +00:00
inoremap jk <esc>
2018-03-20 22:20:40 +00:00
nnoremap <silent> A :call CheckLineEnding()<CR>
2018-03-17 23:59:01 +00:00
nnoremap <space>co :!clear;
2018-03-28 20:03:57 +00:00
nnoremap <space>gs :Gstatus<CR>
nnoremap <space>gd :Gdiff<CR>
nnoremap <space>gD :!clear; echo 'git diff'; git diff<CR>
2018-03-17 23:59:01 +00:00
nnoremap <space>ga :!clear; git add %; git status<CR>
nnoremap <space>gA :!clear; git add .; git status<CR>
2018-03-28 21:46:48 +00:00
nnoremap <space>gc :Gcommit<CR>
2018-03-17 23:59:01 +00:00
nnoremap <space>gg :!clear; git add %; git commit -m ''<Left>
2018-03-28 21:46:48 +00:00
nnoremap <space>gp :Gpush<CR>
nnoremap <space>gl :Glog<CR>
2018-03-17 23:59:01 +00:00
" netrw
nnoremap <space>ex :Ex<CR>
nnoremap <space>ee :e .<CR>
nnoremap <space>eq :Rex<CR>
" better window navigaton
nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
nnoremap <C-k> <C-w>k
nnoremap <C-j> <C-w>j
nnoremap <Esc>j :resize -5<CR>
nnoremap <Esc>k :resize +5<CR>
nnoremap <Esc>l :vertical resize +5<CR>
nnoremap <Esc>h :vertical resize -5<CR>
nnoremap <Esc>= <C-w>=
"location list and quickfix mappings
2018-03-18 17:52:48 +00:00
nnoremap <space>lo :botright lwindow<CR>
nnoremap <up> :lprev<CR>zv
nnoremap <down> :lnext<CR>zv
2018-03-17 23:59:01 +00:00
nnoremap <space>lc :lclose<CR>
2018-03-18 17:52:48 +00:00
nnoremap <space>lh :lhistory<CR>
nnoremap <space>lp :lolder<CR>
nnoremap <space>ln :lnewer<CR>
2018-03-17 23:59:01 +00:00
2018-03-18 17:52:48 +00:00
nnoremap <space>qo :botright cwindow<CR>
nnoremap <left> :cprev<CR>zv
nnoremap <right> :cnext<CR>zv
2018-03-17 23:59:01 +00:00
nnoremap <space>qc :cclose<CR>
2018-03-18 17:52:48 +00:00
nnoremap <space>qh :chistory<CR>
nnoremap <space>qp :colder<CR>
nnoremap <space>qn :cnewer<CR>
2018-03-17 23:59:01 +00:00
" quick grep of visual selection
vnoremap <space>gr y:grep! -R <C-r>" .
" open quickfix window of TODOs
nnoremap <space>td :grep! -R '// *TODO' .<CR>:botright cwindow<CR>:echo len(getqflist()) 'TODOs'<CR>
" brace/quotes completion
2018-03-20 22:20:40 +00:00
inoremap {{ {}<left>
2018-03-17 23:59:01 +00:00
inoremap {<CR> {<CR>}<esc>O
inoremap {; {<CR>};<esc>O
inoremap }} {{}}<Left><Left>
inoremap (( ()<Left>
inoremap (; ();<Left><Left>
2018-03-20 22:20:40 +00:00
inoremap [[ []<Left>
2018-03-17 23:59:01 +00:00
inoremap [<CR> [<CR>]<esc>O
inoremap "" ""<Left>
inoremap "; "";<Left><Left>
inoremap '' ''<Left>
inoremap '; '';<Left><Left>
2018-03-20 22:20:40 +00:00
inoremap ;; ;<esc>
2018-03-17 23:59:01 +00:00
2018-03-20 22:20:40 +00:00
nnoremap <silent> <space>nn :set invrelativenumber<CR>
nnoremap <silent><expr> <space>nh (&hls && v:hlsearch ? ':nohls' : ':set hls')."\n"
2018-03-17 23:59:01 +00:00
" devdocs mapping
nnoremap <space>dd :DD<CR>
"}}}
" #abbreviations{{{
iabbrev adn and
iabbrev waht what
iabbrev tehn then
"}}}
" vim: foldmethod=marker