1 let $ERRFILE="/tmp/aa1ab433-b660-11e2-a69a-000c760ae4c6.err" 2 let $CC="cc" 3 let $CXX="c++" 4 let $CFLAGS="-Wall -pipe -g" 5 let $LDFLAGS="" 6 let g:quick_fix_window_on = 0 7 let g:plugins_enabled = 0 8 set bs=2 9 set ls=2 10 set ts=4 11 set sw=4 12 set cindent 13 set hls 14 set ru 15 set nocp 16 set tw=80 17 set cc=+1 18 set ve=block 19 set background=light 20 syntax on 21 highlight Comment ctermfg=darkcyan 22 highlight Search term=reverse ctermbg=4 ctermfg=7 23 24 function! SingleCompile() 25 let file_suffix = expand("%:e") 26 if file_suffix == "c" 27 !${CC} ${CFLAGS} %:p:. -o %:r ${LDFLAGS} 2>&1 | tee ${HOME}${ERRFILE} 28 cg ${HOME}${ERRFILE} 29 elseif file_suffix == "cpp" 30 !${CXX} ${CFLAGS} %:p:. -o %:r ${LDFLAGS} 2>&1 | tee ${HOME}${ERRFILE} 31 cg ${HOME}${ERRFILE} 32 else 33 echo "This file has an UNKNOWN SUFFIX!" 34 endif 35 endfunction 36 37 function! ToggleQuickFixWindow() 38 if g:quick_fix_window_on 39 cclose 40 let g:quick_fix_window_on = 0 41 else 42 copen 43 let g:quick_fix_window_on = 1 44 endif 45 endfunction 46 47 map <F1> :set foldmethod=syntax 48 map <F2> :call ToggleQuickFixWindow()<CR> 49 map <F3> :cp<CR> 50 map <F4> :cn<CR> 51 map <F5> :tabp<CR> 52 map <F6> :tabn<CR> 53 map <F7> :set background=light<CR>:highlight Comment ctermfg=darkcyan<CR> 54 map <F8> :set background=dark<CR>:highlight PreProc ctermfg=darkcyan<CR> 55 map <F9> :call SingleCompile()<CR> 56 map <F10> :echo "CFLAGS="$CFLAGS"\n"<CR>:let $CFLAGS="-Wall -g -pipe 57 map <F11> :echo "LDFLAGS="$LDFLAGS"\n"<CR>:let $LDFLAGS=" 58 map <F12> :!less -R %:p:.<CR> 59 imap <F1> <ESC><F1> 60 imap <F2> <ESC><F2>a 61 imap <F3> <ESC><F3>a 62 imap <F4> <ESC><F4>a 63 imap <F5> <ESC><F5>a 64 imap <F6> <ESC><F6>a 65 imap <F7> <ESC><F7>a 66 imap <F8> <ESC><F8>a 67 imap <F9> <ESC><F9> 68 imap <F10> <ESC><F10> 69 imap <F11> <ESC><F11> 70 imap <F12> <ESC><F12> 71 nmap <Tab> <C-w><C-w> 72 nmap <S-Tab> <C-w>W 73 74 autocmd FileType python set omnifunc=pythoncomplete#Complete 75 autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS 76 autocmd FileType html set omnifunc=htmlcomplete#CompleteTags 77 autocmd FileType css set omnifunc=csscomplete#CompleteCSS 78 autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags 79 autocmd FileType php set omnifunc=phpcomplete#CompletePHP 80 autocmd FileType c set omnifunc=ccomplete#Complete 81 82 set tags+=~/.vim/tags 83 84 if g:plugins_enabled 85 set rtp+=~/.vim/bundle/vundle 86 set rtp+=~/.vim/bundle/powerline/powerline/bindings/vim 87 call vundle#rc() 88 Bundle 'Lokaltog/powerline' 89 Bundle 'Valloric/YouCompleteMe' 90 Bundle 'majutsushi/tagbar' 91 Bundle 'scrooloose/nerdtree' 92 endif