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