Major cleanup, added submodules
This commit is contained in:
209
vimrc
Normal file
209
vimrc
Normal file
@ -0,0 +1,209 @@
|
||||
" 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 <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
|
||||
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
|
||||
inoremap <expr> <cr> pumvisible() ? asyncomplete#close_popup() : "\<cr>"
|
||||
|
||||
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 <C-t> :NERDTreeToggle<CR>
|
||||
|
||||
" ==== 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 = ['<C-n>', '<Down>']
|
||||
"let g:ycm_key_list_previous_completion = ['<C-p>', '<Up>']
|
||||
"let g:SuperTabDefaultCompletionType = '<C-n>'
|
||||
|
||||
" better key bindings for UltiSnipsExpandTrigger
|
||||
"let g:UltiSnipsExpandTrigger = "<tab>"
|
||||
"let g:UltiSnipsJumpForwardTrigger = "<tab>"
|
||||
"let g:UltiSnipsJumpBackwardTrigger = "<s-tab>"
|
||||
|
||||
" ==== Easymotion
|
||||
"let g:EasyMotion_do_mapping = 0
|
||||
"let g:EasyMotion_smartcase = 1
|
||||
"nmap f <Plug>(easymotion-s)
|
||||
|
||||
" ==== moving around
|
||||
"nmap <silent> <A-Up> :wincmd k<CR>
|
||||
"nmap <silent> <A-Down> :wincmd j<CR>
|
||||
"nmap <silent> <A-Left> :wincmd h<CR>
|
||||
"nmap <silent> <A-Right> :wincmd l<CR>
|
||||
|
||||
" ==== disable mouse
|
||||
set mouse=c
|
||||
|
||||
" ==== disable swap file warning
|
||||
"set shortmess+=A
|
||||
|
||||
" ==== custom commands
|
||||
command JsonPretty execute ":%!jq ."
|
||||
set secure
|
||||
set hlsearch
|
||||
imap <End>
|
||||
imap <Home>
|
||||
nmap Y y$
|
||||
nmap C c$
|
||||
|
||||
inoremap jj <Esc>
|
||||
inoremap kk <Esc>
|
||||
inoremap hh <Esc>
|
||||
inoremap lll <Esc>
|
||||
inoremap :wq <Esc>:wq
|
||||
inoremap :w <Esc>:w
|
||||
inoremap :q! <Esc>:q!
|
||||
inoremap :q <Esc>:q
|
||||
inoremap yy <Esc>yy
|
||||
inoremap ddd <Esc>dd
|
||||
|
||||
" Force me to stop using arrow keys
|
||||
noremap <Left> <Nop>
|
||||
noremap <Right> <Nop>
|
||||
noremap <Up> <Nop>
|
||||
noremap <Down> <Nop>
|
||||
|
||||
" clear search
|
||||
nmap <silent> <C-l> :noh<CR>
|
||||
|
||||
" 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 = "\<Esc>[6 q"
|
||||
let &t_SR = "\<Esc>[4 q"
|
||||
let &t_EI = "\<Esc>[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
|
Reference in New Issue
Block a user