" Change leader mapping let g:mapleader = ',' let g:maplocalleader = '\' " Ctrl + c = ESC for rectangle selection inoremap " Switch colon and semicolon noremap ; : noremap : ; " Multi line move noremap k gk noremap j gj noremap gk k noremap gj j " Skip move noremap H noremap L noremap H ^ noremap L $ " Insert mode move inoremap inoremap " Change tab width nnoremap ts2 :setl shiftwidth=2 softtabstop=2 nnoremap ts4 :setl shiftwidth=4 softtabstop=4 nnoremap ts8 :setl shiftwidth=8 softtabstop=8 " " The prefix key of tab. " nnoremap [tab] " nmap t [tab] " Disable close window nnoremap c " Resize window noremap > 10> noremap < 10< noremap + 10+ noremap - 10- " Search yank string nnoremap sy /" " Search of under cousor vnoremap * "vy/\V=substitute(escape(@v, '\/'), "\n", '\\n', 'g') " Replace cousor word" nnoremap c* ':%s ;\<' . expand('') . '\>;' vnoremap c* ':s ;\<' . expand('') . '\>;' " Auto Escape cnoremap / getcmdtype() == '/' ? '\/' : '/' cnoremap ? getcmdtype() == '?' ? '\?' : '?' " Indent keybind for shutcut nnoremap > >> nnoremap < << " Paste explicitly yanked text nnoremap p "0p vnoremap p "0p " Paste clipboard text nnoremap b "*p vnoremap b "*p inoremap * cnoremap * " Shortcut of write nnoremap w :w " Jump quickfix nnoremap :cp nnoremap :cn nnoremap [f :cp nnoremap ]f :cn nnoremap [F :cfirst nnoremap ]F :clast function! ToggleQuickfix() let l:nr = winnr('$') cwindow let l:nr2 = winnr('$') if l:nr == l:nr2 cclose endif endfunction nnoremap