dotfiles/vim/vimrc

146 lines
11 KiB
VimL
Raw Normal View History

2018-03-20 10:24:09 -04:00
set nocompatible " required
2014-10-24 22:48:44 -04:00
set splitright
2018-03-20 10:24:09 -04:00
filetype off " required
" Handy hack to force a write using sudo when you forget to 'sudo vi'
2014-10-24 22:48:44 -04:00
cmap w!! w !sudo tee > /dev/null %
2018-03-20 10:24:09 -04:00
2014-10-24 22:48:44 -04:00
set pastetoggle=<F10>
2018-03-20 10:24:09 -04:00
set incsearch
set encoding=utf-8
set wrap
set linebreak
set nolist
2019-01-09 14:16:54 -05:00
" Stop the py3 imp complaining for YCM (and others using python3
if !has('patch-8.1.201')
silent! python3 1
2018-06-25 15:46:53 -04:00
endif
2018-03-20 10:24:09 -04:00
" 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'
2014-10-24 22:48:44 -04:00
Plugin 'scrooloose/nerdtree'
2018-03-20 10:24:09 -04:00
Plugin 'powerline/powerline', {'rtp': 'powerline/bindings/vim'}
Plugin 'flazz/vim-colorschemes'
2014-10-24 22:48:44 -04:00
Plugin 'davidhalter/jedi-vim'
Plugin 'ervandew/supertab'
2018-03-20 10:24:09 -04:00
" Bind zonefile stuff
2014-10-24 22:48:44 -04:00
Plugin 'seveas/bind.vim'
2018-03-20 10:24:09 -04:00
" extline extends rst stuff
Plugin 'drmikehenry/vim-extline'
Plugin 'tpope/vim-surround.git'
2015-12-27 12:22:18 -05:00
Plugin 'ryanoasis/vim-webdevicons'
2016-12-12 23:06:29 -05:00
Plugin 'brookhong/DBGPavim'
2018-06-25 15:46:53 -04:00
Plugin 'dhruvasagar/vim-table-mode'
Plugin 'nathanielc/vim-tickscript'
Plugin 'fatih/vim-go'
2014-10-24 22:48:44 -04:00
2018-03-20 10:24:09 -04:00
" 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>
2014-10-24 22:48:44 -04:00
map <F2> :NERDTreeToggle<CR>
colorscheme jellybeans
2016-12-12 23:06:29 -05:00
2018-03-20 10:24:09 -04:00
"Make python-friendly tabs
2016-12-12 23:06:29 -05:00
set tabstop=4
set shiftwidth=4
set smarttab
set softtabstop=4
set autoindent
let &colorcolumn="80,".join(range(81,999),",")
2018-03-20 10:24:09 -04:00
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
2016-12-12 23:06:29 -05:00
let g:dbgPavimOnce = 1
2018-03-20 10:24:09 -04:00
let python_highlight_all=1
syntax on
2018-06-25 15:46:53 -04:00
" For table mode RST friendliness
let g:table_mode_corner_corner='+'
let g:table_mode_header_fillchar='='