" Set up plug-vim "let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim' "if empty(glob(data_dir . '/autoload/plug.vim')) " silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' " autocmd VimEnter * PlugInstall --sync | source $MYVIMRC "endif set nocompatible " be iMproved, required "set rtp+=~/.vim/bundle/Vundle.vim "call vundle#begin() call plug#begin(has('nvim') ? stdpath('data') . '/plugged' : '~/.vim/plugged') " ==== plugin manager "Plugin 'VundleVim/Vundle.vim' " ==== helpers "Plug 'vim-scripts/L9' " ==== File tree "Plug 'scrooloose/nerdtree' " ==== Completion "Plug 'Valloric/YouCompleteMe' Plug 'prabirshrestha/vim-lsp' Plug 'mattn/vim-lsp-settings' Plug 'prabirshrestha/asyncomplete.vim' Plug 'prabirshrestha/asyncomplete-lsp.vim' "Plug '~/src/vim/asyncomplete-muttgoobook.vim' " ==== muttgoobook Plug 'https://git.eldon.me/trey/asyncomplete-muttgoobook.vim' " ==== Git "Plug 'airblade/vim-gitgutter' "Plug 'tpope/vim-fugitive' " ==== syntax helpers "Plug 'scrooloose/syntastic' "Plug 'tpope/vim-surround' "Plug 'cakebaker/scss-syntax.vim' "Plug 'othree/yajs.vim' "Plug 'mitsuhiko/vim-jinja' "Plug 'octol/vim-cpp-enhanced-highlight' "Plug 'ap/vim-css-color' "Plug 'Vimjas/vim-python-pep8-indent' "Plug 'python-rope/rope' "Plug 'python-rope/ropemode' "Plug 'python-rope/ropevim' "Plug 'klen/pylama' " ==== moving / searching "Plug 'easymotion/vim-easymotion' "Plug 'kien/ctrlp.vim' "Plug 'ervandew/supertab' "Plug 'terryma/vim-multiple-cursors' " " ==== snippets "Plug 'SirVer/ultisnips' "Plug 'thomasfaingnaert/vim-lsp-ultisnips' " Status bar on bottom Plug 'vim-airline/vim-airline' " ==== PLUGIN THEMES Plug 'morhetz/gruvbox' "call vundle#end() call plug#end() "filetype plugin indent on " ==== Colors and other basic settings "filetype off " required set exrc " " goobook stuff "source ~/src/vim/asyncomplete-muttgoobook.vim/autoload/asyncomplete/sources/muttgoobook.vim let g:asyncomplete_log_file = expand('~/bugs/asyncomplete.log') let g:goobookrc='~/.goobookrc' autocmd User asyncomplete_setup call asyncomplete#register_source({ \ 'name': 'muttgoobook', \ 'allowlist': ['mail'], \ 'completor': function('asyncomplete#sources#muttgoobook#completor'), \ }) set encoding=UTF-8 " lsp asyncomplete inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? "\" : "\" inoremap pumvisible() ? asyncomplete#close_popup() : "\" colorscheme gruvbox set guifont=Monospace\ 10 set fillchars+=vert:\$ "syntax enable set background=dark set ruler set hidden set number set laststatus=1 set smartindent "hset st=4 sw=4 et set expandtab set tabstop=4 set softtabstop=4 set shiftwidth=4 let &colorcolumn="80" " ==== NERDTREE "let NERDTreeIgnore = ['__pycache__', '\.pyc$', '\.o$', '\.so$', '\.a$', '\.swp', '*\.swp', '\.swo', '\.swn', '\.swh', '\.swm', '\.swl', '\.swk', '\.sw*$', '[a-zA-Z]*egg[a-zA-Z]*', '.DS_Store'] "let NERDTreeShowHidden=1 "let g:NERDTreeWinPos="left" "let g:NERDTreeDirArrows=0 "map :NERDTreeToggle " ==== Syntastic "let g:syntastic_always_populate_loc_list = 1 "let g:syntastic_auto_loc_list = 1 "let g:syntastic_check_on_open = 1 "let g:syntastic_check_on_wq = 0 "set statusline+=%#warningmsg# "set statusline+=%{SyntasticStatuslineFlag()} "set statusline+=%* "let g:syntastic_javascript_checkers = ['eslint'] "let g:syntastic_javascript_mri_args = "--config=$HOME/.jshintrc" "let g:syntastic_python_checkers = [ 'pylint', 'flake8', 'pep8', 'python'] "let g:syntastic_yaml_checkers = ['jsyaml'] "let g:syntastic_html_tidy_exec = 'tidy5' " " === flake8 "let g:flake8_show_in_file=1 " ==== snippets " If you want :UltiSnipsEdit to split your window. "let g:UltiSnipsEditSplit="vertical" " make YCM compatible with UltiSnips (using supertab) "let g:ycm_key_list_select_completion = ['', ''] "let g:ycm_key_list_previous_completion = ['', ''] "let g:SuperTabDefaultCompletionType = '' " better key bindings for UltiSnipsExpandTrigger "let g:UltiSnipsExpandTrigger = "" "let g:UltiSnipsJumpForwardTrigger = "" "let g:UltiSnipsJumpBackwardTrigger = "" " ==== Easymotion "let g:EasyMotion_do_mapping = 0 "let g:EasyMotion_smartcase = 1 "nmap f (easymotion-s) " ==== moving around "nmap :wincmd k "nmap :wincmd j "nmap :wincmd h "nmap :wincmd l " ==== disable mouse set mouse=c " ==== disable swap file warning "set shortmess+=A " ==== custom commands command JsonPretty execute ":%!jq ." set secure set hlsearch imap  imap  nmap Y y$ nmap C c$ inoremap jj inoremap kk inoremap hh inoremap lll inoremap :wq :wq inoremap :w :w inoremap :q! :q! inoremap :q :q inoremap yy yy inoremap ddd dd " Force me to stop using arrow keys noremap noremap noremap noremap " clear search nmap :noh " Fix Home/End/Delete set backspace=indent,eol,start set clipboard=unnamedplus " Change cursor from block to vertical pipe when in insert mode if &term =~ "tmux-256color" let &t_SI = "\[6 q" let &t_SR = "\[4 q" let &t_EI = "\[0 q" endif " search history stuff autocmd BufReadPost * silent! normal! g`"zv "autocmd BufRead,BufNewFile ~/Private/academic/certs/lf/LFS211/2017-12-16_study_materials/*.txt source ~/.muttvimrc