syn on set ignorecase set smartcase set modeline set modelines=5 set nocompatible set wildmode=longest:full set wildmenu set hlsearch set pastetoggle= set tw=0 set backspace=eol,indent,start set number "set mouse=a "Disabled set grepprg=grep\ -nH\ $* let g:tex_flavor = "latex" set path=$PWD/** set runtimepath+=~/.vim/bundle/neobundle.vim/ "if has("autocmd") && exists("+omnifunc") "autocmd Filetype * "\ if &omnifunc == "" | "\ setlocal omnifunc=syntaxcomplete#Complete | "\ endif "endif call neobundle#rc(expand('~/.vim/bundle/')) " Let NeoBundle manage NeoBundle NeoBundleFetch 'Shougo/neobundle.vim' " Recommended to install " After install, turn shell ~/.vim/bundle/vimproc, (n,g)make -f your_machines_makefile NeoBundle 'Shougo/vimproc' NeoBundle 'mileszs/ack.vim.git' NeoBundle 'motemen/git-vim.git' NeoBundle 'https://bitbucket.org/abudden/taghighlight' NeoBundle 'git-time-lapse' NeoBundle 'textobj-user' NeoBundle 'lucapette/vim-textobj-underscore.git' NeoBundle 'Rip-Rip/clang_complete.git' NeoBundle 'tpope/vim-surround.git' NeoBundle 'taglist.vim' NeoBundle 'ifdef-highlighting' NeoBundle 'tpope/vim-speeddating' " can do C-A and C-X on dates! filetype plugin on filetype indent on if has("gui_running") colorscheme bramwombat if has("gui_gtk2") set guifont=Inconsolata\ Medium\ 12 elseif has("gui_win32") set guifont=Lucida_Console:h10:cANSI endif else colorscheme desert endif "set a sudo vim cmap w!! w !sudo tee % > /dev/null hi scalaNew gui=underline hi scalaMethodCall gui=italic hi scalaValName gui=underline hi scalaVarName gui=underline "folding set foldcolumn=2 set foldmethod=marker " tabs are 4 space by default set shiftwidth=4 set tabstop=4 set expandtab "Nice statusbar set laststatus=2 set statusline= set statusline+=%-3.3n\ " buffer number set statusline+=%f\ " file name set statusline+=%h%m%r%w " flags set statusline+=\[%{strlen(&ft)?&ft:'none'}, " filetype set statusline+=%{&fileencoding}, " encoding set statusline+=%{&fileformat}]\ " file format set statusline+=%{strftime('%a\ %b\ %e\ %H:%M')} " hour set statusline+=%= " right align set statusline+=0x%-8B\ " current char set statusline+=%-14.(%l,%c%V%)\ %<%P " offset "tags set tags=tags,./tags,../tags,../../tags "C syntax for ellisys files autocmd BufNewFile,BufRead *.usbs set filetype=c "C syntax for ARM Scatterfiles autocmd BufNewFile,BufRead *.scat set filetype=c "ARM Assembler for .s files autocmd BufNewFile,BufRead *.s set filetype=armasm "Markdown, not modula2 autocmd BufNewFile,BufRead *.md set filetype=markdown set nostartofline "F4 switches from C source .c to header .h file function! MPB_LoadFile(filename) let s:bufname = bufname(a:filename) if (strlen(s:bufname)) > 0 " File already in a buffer exe ":buffer" s:bufname else " Must open file first exe ":e " a:filename endif endfun function! MPB_Flip_Ext() " Switch editing between .c(XYZ) and .h(XYZ) files. if match(expand("%"),'\.c') > 0 let s:flipname = substitute(expand("%"),'\.c\(.*\)','.h\1',"") exe ":call MPB_LoadFile(s:flipname)" elseif match(expand("%"),'\.h') > 0 let s:flipname = substitute(expand("%"),'\.h\(.*\)','.c\1',"") exe ":call MPB_LoadFile(s:flipname)" endif endfun function! MPB_Flip_Cpp_H() " Switch editing between .c(XYZ) and .h(XYZ) files. if match(expand("%"),'\.cpp') > 0 let s:flipname = substitute(expand("%"),'\.cpp','.h',"") exe ":call MPB_LoadFile(s:flipname)" elseif match(expand("%"),'\.h') > 0 let s:flipname = substitute(expand("%"),'\.h','.cpp',"") exe ":call MPB_LoadFile(s:flipname)" endif endfun map :call MPB_Flip_Ext() map :call MPB_Flip_Cpp_H() "Show trailing whitespace highlight ExtraWhitespace ctermbg=darkgreen guibg=#344011 autocmd BufEnter * exe ':2match ExtraWhitespace /\s\+$\| \+\ze\t\|\t\+\ze /' " F5 sets the search register to the word under cursor, without moving " the cursor map :let @/ = expand(''):3match none " F6: Highlight the word under cursor in darkcyan highlight ManualHighlight ctermbg=darkcyan guibg=darkcyan map :exe printf('match ManualHighlight /%s/', escape(expand(''), '/\')) "if has("gui_running") " " auto highlight word under cursor " highlight WordUnderCursor ctermbg=darkred guibg=#552211 " autocmd CursorMoved * exe printf('3match WordUnderCursor /\V\<%s\>/', escape(expand(''), '/\')) "endif "Show tabs set listchars=tab:›\ ,trail:␣ set list "clang_complete options set completeopt=menu,menuone,longest "let g:clang_complete_copen=1 "some CScope maps map fs :cscope f s if has("cscope") " add any database in current directory if filereadable("cscope.out") cs add cscope.out " else add database pointed to by environment elseif $CSCOPE_DB != "" cs add $CSCOPE_DB endif endif "short tag and tselect map [ :tselect map ] :tag "GIT timelapse map gt :call TimeLapse() "very magic search map / /\v "remove adding stars in comments set formatoptions-=ro NeoBundleCheck