set nocompatible filetype off "required set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo "myplugins "Plugin 'valloric/youcompleteme' Plugin 'shougo/neocomplete.vim' call vundle#end() filetype plugin on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line " Disable AutoComplPop. let g:acp_enableAtStartup = 0 " Use neocomplete. let g:neocomplete#enable_at_startup = 1 " Use smartcase. let g:neocomplete#enable_smart_case = 1 " Set minimum syntax keyword length. let g:neocomplete#sources#syntax#min_keyword_length = 3 " Define dictionary. let g:neocomplete#sources#dictionary#dictionaries = { \ 'default' : '', \ 'vimshell' : $HOME.'/.vimshell_hist', \ 'scheme' : $HOME.'/.gosh_completions' \ } " Define keyword. if !exists('g:neocomplete#keyword_patterns') let g:neocomplete#keyword_patterns = {} endif let g:neocomplete#keyword_patterns['default'] = '\h\w*' " Recommended key-mappings. " : close popup and save indent. inoremap =my_cr_function() function! s:my_cr_function() return (pumvisible() ? "\" : "" ) . "\" " For no inserting key. "return pumvisible() ? "\" : "\" endfunction " : completion. inoremap pumvisible() ? "\" : "\" " Close popup by . NO, this makes it slow af to type "inoremap pumvisible() ? "\" : "\" " AutoComplPop like behavior. let g:neocomplete#enable_auto_select = 0 " Enable omni completion. autocmd FileType css setlocal omnifunc=csscomplete#CompleteCSS autocmd FileType html,markdown setlocal omnifunc=htmlcomplete#CompleteTags autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS autocmd FileType python setlocal omnifunc=pythoncomplete#Complete autocmd FileType xml setlocal omnifunc=xmlcomplete#CompleteTags " Enable heavy omni completion. if !exists('g:neocomplete#sources#omni#input_patterns') let g:neocomplete#sources#omni#input_patterns = {} endif """""""""""""""""""""""""""""""""""" set softtabstop=4 set tabstop=4 set shiftwidth=4 set expandtab set smarttab set errorformat+=%.%#PHP:\ %m\ \(in\ %f\ on\ line\ %l\)%.%#, \%E%[0-9]%#.%m:%f?rev=%.%##L%l\ %.%#,%C%.%# autocmd BufNewFile,BufRead svn-commit.*tmp :0r $SVN_COMMIT_TEMPLATE set nocompatible set tags=tags;/ set incsearch " incrimental search set hlsearch " highlighting when searching filetype indent plugin off set autoindent set backspace=2 set nolist " show/hide tabs and EOL chars (hidden characters) set number " show/hide line numbers (nu/nonu) set scrolloff=5 " scroll offset, min lines above/below cursor "set scrolljump=5 " jump 5 lines when running out of the screen - NO set sidescroll=10 " minimum columns to scroll horizontally set showcmd " show command status set showmatch " flashes matching parenthese when cursor over the other one set showmode " show editing mode in status (-- INSERT --) set ruler " show cursor position set errorbells " bells in terminal set undolevels=1000 " number of undos stored set viminfo='50,"50 " '=marks for x files, "=registers for x files set nofen "set foldmethod=indent " indent based folding " define indent-based folding, after loading a file switch to manual folding augroup vimrc au BufReadPre * setlocal foldmethod=indent au BufWinEnter * if &fdm == 'indent' | setlocal foldmethod=manual | endif augroup END " autosave and load views au BufWinLeave ?* mkview au BufWinEnter ?* silent loadview au FileType xml setlocal shiftwidth=2 tabstop=2 au FileType c setl ofu=ccomplete#CompleteCpp au BufNewFile,BufRead *.py,*.pyw,*.pyx,?akefil* \ setlocal tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab autoindent \ textwidth=79 fileformat=unix " Linux kernel style tabs au BufNewFile,BufRead *.c,*.h,*.cpp \ setlocal tabstop=8 shiftwidth=8 softtabstop=8 noexpandtab autoindent \ textwidth=79 fileformat=unix set encoding=utf-8 " important for powerline besides others set scs " override 'ignorecase' when pattern has upper case characters :vmap gb :!git blame % -L=line("'<") ,=line("'>") :nmap gb :!git blame % :colo evening " new fav highlighting :set mouse=a " enable mouse in n,v,i,c,h modes ":set cursorline " Enable cursor line position tracking ":highlight clear CursorLine " Remove the underline from enabling cursorline ":highlight CursorLineNR ctermbg=darkgrey " Set line numbering to red background :set guifont=Source\ Code\ Pro\ 11 :syntax on :set background=dark " Change the highlight color for Comment and Special " to Cyan. Blue is too dark for a black background. " ":highlight Comment term=bold ctermfg=cyan guifg=cyan ":highlight Special term=bold ctermfg=cyan guifg=cyan ":highlight Constant term=bold ctermfg=red guifg=cyan :set laststatus=2 " show powerline status bar set t_Co=256 let g:Powerline_symbols = "fancy" " sth like this probably set as a default but won't hurt here