let g:windowswap_map_keys = 0 "prevent default bindings nnoremap yw :call WindowSwap#MarkWindowSwap() " --------- SURROUND MAPPINGS --------- " " Surround a word with "quotes" map " ysiw" vmap " c""" " ' Surround a word with 'single quotes' map ' ysiw' vmap ' c'"' " ' Surround a word with 'ticks' map ` ysiw` vmap ` c`"` " --------- SEARCH MAPPINGS --------- " unhilight search nnoremap :nohlsearch " EZ Ack search " nnoremap a :Ack! " nnoremap A :Ack! " --------- CLIPBOARD MAPPINGS --------- " Paste from OS clipboard map v i"+pa vmap v c"+p imap v "+pa " Copy to OS clipboard vnoremap y "yy :call system('xclip', @y) map y "yy :call system('xclip', @y) " map y !xclip -selection clipboard " vmap y !xclip -selection clipboard " map y "+Y " vmap y "+y " --------- WINDOW/PANE MAPPINGS --------- map wr r map H :wincmd H map K :wincmd K map L :wincmd L map J :wincmd J map x :wincmd x " resize vertical split to 1/3 or 2/3 size nnoremap s+ :exe "vertical resize " . (winwidth(0) * 5/4) nnoremap s- :exe "vertical resize " . (winwidth(0) * 4/5) " resize horizontal split to 1/3 or 2/3 size nnoremap x+ :exe "resize " . (winheight(0) * 3/2) nnoremap x- :exe "resize " . (winheight(0) * 2/3) " --------- FORMATTING MAPPINGS --------- " indent file map = gg=G `` " format HTML/JSON map fh :%s/>\s*\r map fj :%!python -m json.tool map fjs :call UnMinify() "command! UnMinify call UnMinify() function! UnMinify() %s/{\ze[^\r\n]/{\r/g %s/){/) {/g %s/};\?\ze[^\r\n]/\0\r/g %s/;\ze[^\r\n]/;\r/g %s/[^\s]\zs[=&|]\+\ze[^\s]/ \0 /g normal ggVG= endfunction nmap toi :CocCommand tsserver.organizeImports "" --------- NERD Commenter " Create default mappings let g:NERDCreateDefaultMappings = 0 " Add spaces after comment delimiters by default let g:NERDSpaceDelims = 1 " Use compact syntax for prettified multi-line comments let g:NERDCompactSexyComs = 1 " Align line-wise comment delimiters flush left instead of following code indentation let g:NERDDefaultAlign = 'left' " Set a language to use its alternate delimiters by default let g:NERDAltDelims_java = 1 " Allow commenting and inverting empty lines (useful when commenting a region) let g:NERDCommentEmptyLines = 1 " Enable trimming of trailing whitespace when uncommenting let g:NERDTrimTrailingWhitespace = 1 "Enable NERDCommenterToggle to check all selected lines is commented or not let g:NERDToggleCheckAllLines = 1 nnoremap c :call nerdcommenter#Comment(0,"toggle") vnoremap c :call nerdcommenter#Comment(0,"toggle") nnoremap c$ :call nerdcommenter#Comment(0,"ToEOL") vnoremap c$ :call nerdcommenter#Comment(0,"ToEOL") nmap yf :let @" = expand("%") nmap ut :UndotreeToggle nmap e :e %% " replace currently selected text with default register " without yanking it vnoremap p "_dP nnoremap rp :VimuxOpenRunner :VimuxRunCommand '!!' :call VimuxSendKeys("Enter")