" https://github.com/vim-scripts/searchfold.vim let mapleader = ',' " let &colorcolumn=join(range(101,999),",") set hlsearch set incsearch set cursorline set smartindent set nocompatible set tw=100 filetype off set rtp+=~/.vim/bundle/Vundle.vim/ set rtp+=~/.vim/bundle/vim-jsonnet/syntax/ set rtp+=~/.vim/bundle/vim-jsonnet/ftdetect/ set ignorecase set smartcase call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' " The bundles you install will be listed here filetype plugin indent on Bundle 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} Bundle 'scrooloose/nerdtree' Bundle 'klen/python-mode' Bundle 'tpope/vim-fugitive' Bundle 'altercation/vim-colors-solarized' Bundle 'ervandew/supertab' Bundle 'Raimondi/delimitMate' Bundle 'nathanaelkane/vim-indent-guides' Bundle 'majutsushi/tagbar' Bundle 'Lokaltog/vim-easymotion' Bundle 'vim-scripts/LaTeX-Suite-aka-Vim-LaTeX' Bundle 'tpope/vim-surround' Bundle 'mephux/bro.vim' Bundle 'derekwyatt/vim-scala' Bundle 'wincent/Command-T' " Bundle 'fholgado/minibufexpl.vim' Bundle 'vim-scripts/EasyGrep' Bundle 'vim-scripts/LustyExplorer' Bundle 'vim-scripts/yavdb' Bundle 'junkblocker/patchreview-vim' Bundle 'codegram/vim-codereview' Bundle 'google/vim-jsonnet' Bundle 'tpope/vim-sleuth' Bundle 'scrooloose/syntastic' Bundle 'Chiel92/vim-autoformat' Bundle 'ashisha/image.vim' Bundle 'google/vim-maktaba' Bundle 'bazelbuild/vim-bazel' Bundle 'chr4/nginx.vim' Bundle 'spwhitt/vim-nix' " Bundle 'ensime/ensime-vim' " Scala Bundles " You need to check out appropriate ensime branch by hand by running ie. " > git checkout scala-2.10 " in ensime plugin directory managed by vundle (probably ~/.vim/bundle/ensime). Also you'll need to run make in vimproc directory. "Bundle "megaannum/self" "Bundle "megaannum/forms" "Bundle "Shougo/vimproc" "Bundle "Shougo/vimshell" "Bundle "aemoncannon/ensime" "Bundle "megaannum/vimside" " The rest of your config follows here " Excess Line Length augroup vimrc_autocmds autocmd! " highlight characters past column 120 autocmd FileType python highlight Excess ctermbg=DarkGrey guibg=Black autocmd FileType python match Excess /\%120v.*/ autocmd FileType python set nowrap augroup END " Powerline setup set guifont=DejaVu\ Sans\ Mono\ for\ Powerline\ 9 set laststatus=2 " Nerd Tree map :NERDTreeToggle " Python-mode Setup " Python-mode " Activate rope " Keys: " K Show python docs " Rope autocomplete " g Rope goto definition " d Rope show documentation " f Rope find occurrences " 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,pylint,mccabe" " Auto check on save let g:pymode_lint_on_write = 0 " Support virtualenv let g:pymode_virtualenv = 1 " Enable breakpoints plugin let g:pymode_breakpoint = 1 let g:pymode_breakpoint_key = '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 let g:pymode_utils_whitespaces = 0 let g:pymode_trim_whitespaces = 0 " Don't autofold code let g:pymode_folding = 0 " Syntastic python config let g:syntastic_python_checkers = ['prospector'] let g:syntastic_python_prospector_args = "--profile python/prospector.yaml" " Highlight trailing white space and delete on save autocmd InsertLeave * match ErrorMsg '\s\+$' autocmd InsertEnter * call clearmatches() " autocmd BufWritePre * :%s/\s\+$//e autocmd FileType tex set spell autocmd FileType tex set tw=80 autocmd FileType tex set nowrap autocmd InsertLeave *.tex highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9 autocmd InsertLeave *.tex match OverLength /\%82v.*/ " automatically change window's cwd to file's dir set noautochdir " I'm prefer spaces to tabs set tabstop=4 set shiftwidth=4 set expandtab " more subtle popup colors if has ('gui_running') highlight Pmenu guibg=#cccccc gui=bold endif " solarized theme syntax enable set background=dark colorscheme solarized " Cursor Wrapping set whichwrap+=<,>,h,l,[,] " Ctags let g:tagbar_ctags_bin="/opt/local/bin/ctags" if has("autocmd") au BufNewFile,BufRead *.bro set filetype=bro au BufRead,BufNewFile *.scala set filetype=scala endif " Eclim Settings " let g:EclimScalaSearchSingleResult = 'edit' " let g:EclimCompletionMethod = 'omnifunc' " let g:SuperTabDefaultCompletionType = 'context' map :ScalaSearch set wildignore=*.o,*.obj,*.bak,*.swp,*.class,*.pyc,*.md,*.min,*.txt,*.xml,*.jar,*.xml.gz,*.log,*resources/golden*,*.sql,*.q,*/node_modules/*,target/selenium/*,*/target/*,*/repo_universe/*,*/screenshots/*,*.json.gz,*.png,*.xml.gz,*/target/* " au FileType java :so /Users/ahirreddy/.vim/bundle/JavaKit/vim/JavaKit.vim" " CommandT Options let g:CommandTMaxFiles=10000000 let g:CommandTFileScanner="git" :set hidden if has("gui_running") let s:uname = system("uname") if s:uname == "Darwin\n" set guifont=Inconsolata\ for\ Powerline:h15 endif endif set noerrorbells set novisualbell set t_vb= autocmd! GUIEnter * set vb t_vb= autocmd QuickFixCmdPost *grep* cwindow " Define a command to make it easier to use command! -nargs=+ QFDo call QFDo() " Function that does the work function! QFDo(command) " Create a dictionary so that we can " get the list of buffers rather than the " list of lines in buffers (easy way " to get unique entries) let buffer_numbers = {} " For each entry, use the buffer number as " a dictionary key (won't get repeats) for fixlist_entry in getqflist() let buffer_numbers[fixlist_entry['bufnr']] = 1 endfor " Make it into a list as it seems cleaner let buffer_number_list = keys(buffer_numbers) " For each buffer for num in buffer_number_list " Select the buffer exe 'buffer' num " Run the command that's passed as an argument exe a:command " Save if necessary update endfor endfunction function! CopyMatches(reg) let hits = [] %s//\=len(add(hits, submatch(0))) ? submatch(0) : ''/ge let reg = empty(a:reg) ? '+' : a:reg execute 'let @'.reg.' = join(hits, "\n") . "\n"' endfunction command! -register CopyMatches call CopyMatches() noremap :Autoformat let g:formatdef_scalafmt = '"scalafmt --config .scalafmt.conf"' let g:formatters_scala = ['scalafmt']