X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=vim%2Fvimrc;h=c6fce6b6a371314ecfbf44676eb4579c006c8bfb;hb=635558342ee61d1fd037d78340f4d4db6c399355;hp=d169f51157cdea20ed0787bf92ca60d831f296cb;hpb=d16d50000172a37840adfe535a0bd1dd0eb6afd1;p=smckown%2Fdotfiles.git diff --git a/vim/vimrc b/vim/vimrc index d169f51..c6fce6b 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -70,15 +70,22 @@ set list " Set default indent policy. smarttab, roundshift enabled by sensible set softtabstop=2 shiftwidth=2 expandtab +" cinoptions for code formatting +set cinoptions=t0,us,U1,k2s,j1,J1 + " File type specific settings. if has("autocmd") autocmd filetype make setlocal sts=0 sw=8 noexpandtab tw=80 fo-=t fo+=j 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 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 markdown,mkd,md setlocal tw=80 fo-=t fo+=j + autocmd filetype c,cpp,java setlocal tw=80 fo+=jt + autocmd filetype nesc setlocal syntax=c.doxygen tw=80 fo+=jt + autocmd filetype text setlocal tw=80 fo+=jt + autocmd filetype tex 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() @@ -173,12 +180,6 @@ set tags=tags;/ " %% on an ex command line expands to the dir path of the current buffer cnoremap %% getcmdtype() == ':' ? expand('%:h').'/' : '%%' -" Create some edit maps for opening new files -map ew :e %% -map es :sp %% -map ev :vsp %% -map et :tabe %% - " Make and g] work like g, which uses :tjump nnoremap g] g nnoremap g @@ -267,10 +268,10 @@ nmap w (easymotion-bd-w) nmap b (easymotion-bd-w) nmap W (easymotion-bd-W) nmap B (easymotion-bd-W) -nmap e (easymotion-bd-e) -nmap E (easymotion-bd-E) -nmap ge (easymotion-bd-e) -nmap gE (easymotion-bd-E) +"nmap e (easymotion-bd-e) +"nmap E (easymotion-bd-E) +"nmap ge (easymotion-bd-e) +"nmap gE (easymotion-bd-E) nmap j (easymotion-bd-jk) nmap k (easymotion-bd-jk) nmap n (easymotion-bd-n) @@ -346,10 +347,15 @@ 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 + +" mkbuild tools +nnoremap e :call mkbuild#DmenuOpen('e') +nnoremap x :call mkbuild#SelectXrefs() " Turn on doxygen syntax highlighting for C, C++, C# and IDL files. let g:load_doxygen_syntax=1 @@ -383,8 +389,24 @@ 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") -imap D =strftime("%Y-%m-%d") -imap t =strftime("%H:%M:%S") +"nmap dd "=strftime('%Y%m%d')p +"imap dd =strftime('%Y%m%d') +"nmap dD "=strftime('%Y-%m-%d')p +"imap dD =strftime('%Y-%m-%d') +"nmap dt "=strftime('%H:%M:%S')p +"imap dt =strftime('%H:%M:%S')