set nocompatible              " required
set splitright
filetype off                  " required
" Handy hack to force a write using sudo when you forget to 'sudo vi'
cmap w!! w !sudo tee > /dev/null %

set pastetoggle=<F10>

set incsearch
set encoding=utf-8
set wrap
set linebreak
set nolist

" set the runtime path to include Vundle and initialize
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 'gmarik/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
Plugin 'vim-syntastic/syntastic'
Plugin 'nvie/vim-flake8'
Plugin 'python-mode/python-mode'
Plugin 'airblade/vim-gitgutter'
Plugin 'scrooloose/nerdtree'
Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim'}
Plugin 'flazz/vim-colorschemes'
Plugin 'davidhalter/jedi-vim'
Plugin 'ervandew/supertab'
" Bind zonefile stuff
Plugin 'seveas/bind.vim'
" extline extends rst stuff
Plugin 'drmikehenry/vim-extline'
Plugin 'tpope/vim-surround.git'
Plugin 'ryanoasis/vim-webdevicons'
Plugin 'brookhong/DBGPavim'

" Add all your plugins here (note older versions of Vundle used Bundle instead
" of Plugin)

" All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required
"Powerline setup                                                                                                                                                                                                                                                                  
"set guifont=PowerLineSymbols\ DejaVu\ Sans\ Mono\ for\ Powerline\ 9                                                                                                                                                                                                              
" set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ Plus\ Nerd\ File\ Types\ 9                                                                                                                                                                                                      
set guifont=Sauce\ Code\ Powerline\ Plus\ Nerd\ File\ Types\ 9                                                                                                                                                                                                                    
" set guifont=Anonymous\ Pro\ for\ Powerline\ Regular/9                                                                                                                                                                                                                           
let g:Powerline_symbols = 'fancy'                                                                                                                                                                                                                                                 
let g:airline_powerline_fonts = 1                                                                                                                                                                                                                                                 
set laststatus=2                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                  
"NerdTree map to <f2>                                                                                                                                                                                                                                                             
map <F2> :NERDTreeToggle<CR>

colorscheme jellybeans

"Make python-friendly tabs                                          
set tabstop=4
set shiftwidth=4
set smarttab
set softtabstop=4
set autoindent
let &colorcolumn="80,".join(range(81,999),",")

augroup vimrc_autocmds
	autocmd!
	"highlight characters past col 80
	autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black
	autocmd FileType python match Excess /\%80v.*/
	autocmd FileType python set nowrap
augroup END

set mouse=a

" python-mode settings
" Python-mode                                                                                                                         
" Activate rope                                                                                                                       
" Keys:                                                                                                                               
" K             Show python docs                                                                                                      
" <Ctrl-Space>  Rope autocomplete                                                                                                     
" <Ctrl-c>g     Rope goto definition                                                                                                  
" <Ctrl-c>d     Rope show documentation                                                                                               
" <Ctrl-c>f     Rope find occurrences                                                                                                 
" <Leader>b     Set, unset breakpoint (g:pymode_breakpoint enabled)                                                                   
" [[            Jump on previous class or function (normal, visual, operator                                                          
" modes)                                                                                                                              
" ]]            Jump on next class or function (normal, visual, operator                                                              
" modes)                                                                                                                              
" [M            Jump on previous class or method (normal, visual, operator                                                            
" modes)                                                                                                                              
" ]M            Jump on next class or method (normal, visual, operator                                                                
" modes)                                                                                                                              
let g:pymode_rope = 0                                                                                                                 
                                                                                                                                        
" Documentation                                                                                                                       
let g:pymode_doc = 1                                                                                                                  
let g:pymode_doc_key = 'K'                                                                                                            

"Linting                                                                                                                              
let g:pymode_lint = 1                                                                                                                 
"let g:pymode_lint_checker = "pyflakes,pep8"                                                                                          
let g:pymode_lint_checker = "flake8,pep8"                                                                                          
" Auto check on save                                                                                                                  
let g:pymode_lint_write = 1                                                                                                           

" Support virtualenv                                                                                                                  
let g:pymode_virtualenv = 1                                                                                                           

" Enable breakpoints plugin                                                                                                           
let g:pymode_breakpoint = 1                                                                                                           
let g:pymode_breakpoint_key = '<leader>b'                                                                                             

" syntax highlighting                                                                                                                 
let g:pymode_syntax = 1                                                                                                               
let g:pymode_syntax_all = 1                                                                                                           
let g:pymode_syntax_indent_errors = g:pymode_syntax_all                                                                               
let g:pymode_syntax_space_errors = g:pymode_syntax_all                                                                                

" Don't autofold code                                                                                                                 
let g:pymode_folding = 0                                                                                                              
let g:riv_fold_level = 0                                                                                                              
let g:riv_fold_auto_update = 0                                                                                                        

let g:dbgPavimPort = 9000                                                                                                             
let g:dbgPavimBreakAtEntry = 0                                                                                                        
let g:dbgPavimOnce = 1

let python_highlight_all=1
syntax on
" if at first you don't succeed...commit a bunch of comments until you do