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