X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=vim%2Fvimrc;h=15e4b3c7576d056a4c0295f669edae5f6f4bdca0;hb=9afbbe500c6c043f29708e5e6c6409c535b719c3;hp=68d687ef6d73e46999cac6e705f640799e3e4b52;hpb=b4b5b5dcc5cff6d35255cf9230426ba1a07c2b8e;p=smckown%2Fdotfiles.git diff --git a/vim/vimrc b/vim/vimrc index 68d687e..15e4b3c 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -76,9 +76,12 @@ if has("autocmd") autocmd filetype sh,ld setlocal sts=4 sw=4 tw=80 fo-=t fo+=j autocmd filetype python setlocal sts=4 sw=4 tw=79 fo-=t fo+=j autocmd filetype html,xml setlocal listchars-=tab:>. tw=80 fo-=t fo+=j - autocmd filetype text,markdown,mkd,md setlocal tw=80 fo-=t fo+=j + autocmd filetype markdown,mkd,md setlocal tw=80 fo-=t fo+=j autocmd filetype c,cpp,java setlocal tw=80 fo-=t fo+=j autocmd filetype nesc setlocal syntax=c.doxygen tw=80 fo-=t fo+=j + autocmd filetype text setlocal tw=80 fo+=jt + + autocmd BufReadPre README*,TODO*,INSTALL* setlocal tw=80 fo+=t " Whitelist for auto-stripping trailing whitespace on buffer write autocmd BufWritePre *.c,*.h,*.nesc,*.py,*.java,*.sh,make :call StripTrailingWhitespace() @@ -90,9 +93,7 @@ endif " Setup swap/backup/undo " Note that as of vim 7.4, backupdir // will not expand backup files to a full " path as is the case with directory and undodir. -let s:dir = expand(has('win32') ? '~/Application Data/Vim' : has('mac') ? - \ '~/Library/Vim' : '~/.local/share/vim') -execute 'set directory^=' . s:dir . '/swap//' +let s:dir = expand(has('win32') ? '$HOME/vimfiles' : '$HOME/.vim') if !isdirectory(s:dir . '/') call mkdir(s:dir) endif @@ -105,6 +106,7 @@ endif if !isdirectory(s:dir . '/undo/') call mkdir(s:dir . '/undo') endif +execute 'set directory^=' . s:dir . '/swap//' if isdirectory(s:dir . '/backup/') execute 'set backupdir=' . s:dir . '/backup//' set backup @@ -211,6 +213,19 @@ if has("autocmd") \ endif endif +" Fugitive shortcuts +nnoremap gs :Gstatus +nnoremap gd :Gdiff +nnoremap gc :Gcommit +nnoremap gb :Gblame +nnoremap gl :Glog +nnoremap gp :Git push +nnoremap gr :Gread +nnoremap gw :Gwrite +"nnoremap ge :Gedit +nnoremap gi :Git add -p % +nnoremap gg :Ggrep + " EasyGrep " To ignore tags file, use system grep. let g:EasyGrepCommand=1 @@ -334,10 +349,11 @@ let g:delimitMate_matchpairs = "{:},[:],(:)" let g:delimitMate_autoclose = 1 let g:delimitMate_expand_cr = 1 let g:delimitMate_expand_space = 1 -nnoremap coa :DelimitMateSwitch +" cop means to toggle auto pairing +nnoremap cop :DelimitMateSwitch " Rainbow Parenthesis -- off by default but set toggle -nnoremap cop :RainbowParenthesesToggle +nnoremap co( :RainbowParenthesesToggle " Turn on doxygen syntax highlighting for C, C++, C# and IDL files. let g:load_doxygen_syntax=1 @@ -371,6 +387,19 @@ function! ToggleFormatOptionT() endif endfunction +" Implement 'coa' -- Toggle formatoption 'a' -- auto-wrap paragraphs +nnoremap coa :call ToggleFormatOptionA() +function! ToggleFormatOptionA() + let tmp = substitute(&formatoptions, 'a', '', '') + if &formatoptions == tmp + set fo+=a + :echo "Enable auto-wrap paragraphs" + else + set fo-=a + :echo "Disable auto-wrap paragraphs" + endif +endfunction + " Insert date and time in insert mode. Have to use the native , not " its re-mapped version imap d =strftime("%Y%m%d")