2016-08-13 16:06:49 -04:00
|
|
|
|
" PLUGINS
|
|
|
|
|
call plug#begin('~/.vim/plugged')
|
|
|
|
|
|
|
|
|
|
" colors
|
|
|
|
|
Plug 'nanotech/jellybeans.vim'
|
2017-08-31 00:19:46 -04:00
|
|
|
|
Plug 'joshdick/onedark.vim'
|
2016-08-13 16:06:49 -04:00
|
|
|
|
|
|
|
|
|
" keepers
|
|
|
|
|
Plug 'airblade/vim-gitgutter'
|
2018-05-30 09:14:30 -04:00
|
|
|
|
Plug 'hashivim/vim-terraform'
|
2017-10-17 23:46:48 -04:00
|
|
|
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
|
|
|
|
|
Plug 'junegunn/fzf.vim'
|
2017-09-12 09:11:38 -04:00
|
|
|
|
Plug 'ntpeters/vim-better-whitespace'
|
2021-03-31 23:32:22 -04:00
|
|
|
|
Plug 'moll/vim-bbye'
|
2020-07-28 13:53:34 -04:00
|
|
|
|
Plug 'ruanyl/vim-gh-line'
|
2016-08-18 19:10:48 -04:00
|
|
|
|
Plug 'tpope/vim-endwise'
|
2017-09-12 09:11:38 -04:00
|
|
|
|
Plug 'tpope/vim-eunuch' " move files
|
|
|
|
|
Plug 'tpope/vim-fugitive'
|
2016-09-14 11:34:48 -04:00
|
|
|
|
Plug 'tpope/vim-git'
|
2016-08-13 16:06:49 -04:00
|
|
|
|
Plug 'tpope/vim-surround'
|
2017-10-17 23:47:58 -04:00
|
|
|
|
Plug 'troydm/zoomwintab.vim'
|
2016-08-13 16:06:49 -04:00
|
|
|
|
|
|
|
|
|
" languages
|
2020-01-21 10:04:13 -05:00
|
|
|
|
Plug 'leafgarland/typescript-vim'
|
2016-08-13 16:06:49 -04:00
|
|
|
|
Plug 'posva/vim-vue'
|
|
|
|
|
Plug 'tpope/vim-markdown'
|
|
|
|
|
Plug 'tpope/vim-rails'
|
|
|
|
|
Plug 'vim-ruby/vim-ruby'
|
|
|
|
|
|
2018-01-03 11:49:50 -05:00
|
|
|
|
" Testing
|
2020-09-28 10:29:27 -04:00
|
|
|
|
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
|
|
|
|
|
" Plug 'dense-analysis/ale'
|
2018-01-03 11:49:50 -05:00
|
|
|
|
" Plug 'w0rp/ale'
|
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
call plug#end()
|
2016-08-15 20:25:07 -04:00
|
|
|
|
filetype plugin indent on
|
2016-08-13 16:06:49 -04:00
|
|
|
|
|
|
|
|
|
" STATUS LINE
|
2017-10-18 00:00:57 -04:00
|
|
|
|
set statusline=
|
|
|
|
|
set statusline+=%<\ %f%{ZoomState()}
|
|
|
|
|
set statusline+=\ %m%r%y%w%= " what am i doing here
|
|
|
|
|
set statusline+=\ Line:\ %l\/%L\ [%p%%]
|
|
|
|
|
set statusline+=\ Col:\ %c
|
|
|
|
|
set statusline+=\ Buf:\ #%n
|
|
|
|
|
set statusline+=\ " trailing space is with purpose
|
2016-08-13 16:06:49 -04:00
|
|
|
|
|
|
|
|
|
" OPTIONS
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set fileformats=unix,mac,dos " File format prefer unix endings
|
2016-08-18 19:10:48 -04:00
|
|
|
|
set endofline " Add newline at end of file
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set shellslash " Forward slashes
|
|
|
|
|
set nobackup " No backup files
|
2016-08-13 16:06:49 -04:00
|
|
|
|
set noswapfile " Hope for the best
|
2016-09-14 11:34:48 -04:00
|
|
|
|
set formatoptions=crq
|
2013-04-29 02:31:18 -04:00
|
|
|
|
set textwidth=80
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set cpoptions+=$ " delimit end of change text
|
|
|
|
|
set laststatus=2 " Always show status line
|
|
|
|
|
set showmode " Show current mode
|
|
|
|
|
set history=100 " History length
|
|
|
|
|
set nowrap " Disable wrapping by default
|
|
|
|
|
set backspace=2 " Backspace over indent, eol, start of insert
|
|
|
|
|
set hlsearch " Search highlights
|
2016-08-13 16:06:49 -04:00
|
|
|
|
set wrapscan " Wrapped search
|
|
|
|
|
set incsearch " Search as you type
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set ignorecase " Ignore case with search
|
|
|
|
|
set smartcase " Search will not ignore uppercase
|
|
|
|
|
set showcmd " Show command as you type
|
|
|
|
|
set ruler " Show cursor position
|
|
|
|
|
set autoindent " autoindent AND be smart about it
|
|
|
|
|
set smartindent
|
2018-01-03 11:49:50 -05:00
|
|
|
|
set colorcolumn=80,120 " Ruler at line 80, 120
|
2013-05-09 17:02:25 -04:00
|
|
|
|
set nomodeline
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set relativenumber " Relative line numbers
|
2013-08-19 19:43:39 -04:00
|
|
|
|
set number
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set virtualedit=all " Cursor can go anywhere
|
|
|
|
|
set scrolloff=3 " Keep cursor from touching edges
|
|
|
|
|
set timeoutlen=500 " Don't wait too long (ambiguous leaders)
|
|
|
|
|
set showmatch " Show matching brackets
|
|
|
|
|
set hidden " Allow unsaved buffers to be hidden
|
2016-08-18 19:10:48 -04:00
|
|
|
|
set wildcharm=<tab> " Allow use of tab in macros
|
2016-02-13 21:05:10 -05:00
|
|
|
|
set wildmenu " Command line completion
|
|
|
|
|
set wildmode=list:longest,full " Better file completion
|
|
|
|
|
set infercase " Adjust completions to match case
|
|
|
|
|
set wildignorecase " Ignore case on commandline
|
|
|
|
|
set autowrite " Save file when focus is lost
|
2016-08-16 00:27:42 -04:00
|
|
|
|
set updatetime=250 " Make gitgutter autoupdate
|
2013-04-29 02:31:18 -04:00
|
|
|
|
" Tabs are 2 spaces
|
|
|
|
|
set tabstop=2
|
|
|
|
|
set softtabstop=2
|
|
|
|
|
set shiftwidth=2
|
|
|
|
|
set expandtab
|
2016-08-13 16:06:49 -04:00
|
|
|
|
set shiftround " make >> go to next tab
|
2016-08-18 19:10:48 -04:00
|
|
|
|
" some performance stuff
|
|
|
|
|
set lazyredraw
|
|
|
|
|
set ttyfast
|
|
|
|
|
set synmaxcol=256
|
2013-08-05 21:38:24 -04:00
|
|
|
|
" Show whitespace markers before cursor in insert mode
|
|
|
|
|
set list listchars=tab:\ \ ,trail:·
|
2014-12-12 12:59:19 -05:00
|
|
|
|
" Ignore stuff
|
|
|
|
|
set wildignore+=*/\.git/*
|
|
|
|
|
" Java
|
2018-01-03 11:49:50 -05:00
|
|
|
|
" set wildignore+=*/build/*,*/grade/*,*\.class
|
2014-12-12 12:59:19 -05:00
|
|
|
|
" Frontend
|
|
|
|
|
set wildignore+=*/node_modules/*,*/bower_components/*,*/dist/*
|
2016-02-13 21:05:10 -05:00
|
|
|
|
" Persistent undo stuff
|
|
|
|
|
if has('persistent_undo')
|
|
|
|
|
set undolevels=5000
|
|
|
|
|
set undodir=$HOME/.vim/undo
|
|
|
|
|
set undofile
|
|
|
|
|
endif
|
2013-04-29 13:32:51 -04:00
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" KEYBINDS
|
2016-02-13 21:05:10 -05:00
|
|
|
|
" quick replaceement
|
|
|
|
|
nmap S :%s//g<LEFT><LEFT>
|
2014-05-11 02:48:01 -04:00
|
|
|
|
|
2014-12-18 16:39:40 -05:00
|
|
|
|
" consistency is key - Y should act like C, D
|
|
|
|
|
map Y y$
|
|
|
|
|
|
2013-10-01 14:36:44 -04:00
|
|
|
|
" Don't cancel visual mode while indenting
|
|
|
|
|
vnoremap > >gv
|
|
|
|
|
vnoremap < <gv
|
|
|
|
|
|
2017-10-17 23:46:48 -04:00
|
|
|
|
" Make fzf act like ctrlp
|
|
|
|
|
nnoremap <C-p> :Files<CR>
|
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" ZoomWin
|
2017-10-17 23:47:58 -04:00
|
|
|
|
nnoremap <C-w>z :ZoomWinTabToggle<CR>
|
|
|
|
|
nnoremap <C-w><C-z> :ZoomWinTabToggle<CR>
|
2014-05-09 01:16:01 -04:00
|
|
|
|
|
2021-06-03 08:55:20 -04:00
|
|
|
|
" Fugitive
|
|
|
|
|
autocmd FileType fugitiveblame nmap <buffer> q gq
|
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" LEADERS
|
2013-04-29 13:32:51 -04:00
|
|
|
|
let mapleader = ","
|
|
|
|
|
|
2013-10-01 14:36:44 -04:00
|
|
|
|
" tab swaps
|
2013-09-20 11:05:47 -04:00
|
|
|
|
map <Leader>2 :set tabstop=2 softtabstop=2 shiftwidth=2 expandtab<cr>
|
|
|
|
|
map <Leader>4 :set tabstop=4 softtabstop=4 shiftwidth=4 expandtab<cr>
|
|
|
|
|
map <Leader>a :set tabstop=8 softtabstop=8 shiftwidth=8 noexpandtab<cr>
|
2013-10-01 14:36:44 -04:00
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" plugin
|
2016-08-15 22:41:18 -04:00
|
|
|
|
map <Leader>pc :PlugClean<cr>
|
|
|
|
|
map <Leader>pi :PlugInstall<cr>
|
|
|
|
|
map <Leader>pu :PlugUpdate<cr>
|
2013-10-14 00:19:08 -04:00
|
|
|
|
|
2014-05-08 23:47:44 -04:00
|
|
|
|
" clear search
|
2013-10-01 14:36:44 -04:00
|
|
|
|
map <Leader>cs :let @/ = ""<cr>
|
2016-02-11 08:42:06 -05:00
|
|
|
|
" bclose
|
2021-03-31 23:32:22 -04:00
|
|
|
|
nnoremap <silent> <Leader>bd :Bdelete<CR>
|
2016-02-11 08:42:06 -05:00
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" other
|
2016-08-26 13:40:18 -04:00
|
|
|
|
map <Leader>fj :%!python -m json.tool<cr>
|
2017-09-12 09:11:38 -04:00
|
|
|
|
map <Leader>fw :StripWhitespace<cr>
|
2020-07-31 07:40:04 -04:00
|
|
|
|
map <Leader>gg :exe "!hub gist create -o %:p"<cr><cr>
|
2020-10-05 14:00:07 -04:00
|
|
|
|
map <Leader>gi :GoImports<cr>
|
2016-08-13 16:06:49 -04:00
|
|
|
|
map <Leader>pm :set paste!<cr>
|
2016-08-18 19:10:48 -04:00
|
|
|
|
map <Leader>sa :Move %<tab>
|
2020-07-28 15:16:16 -04:00
|
|
|
|
map <Leader>sb :exe "!subl %:p:" . line(".")<cr><cr>
|
2013-07-19 01:39:58 -04:00
|
|
|
|
map <Leader>se :e ~/.vimrc<cr>
|
2016-08-16 00:27:42 -04:00
|
|
|
|
map <Leader>sc :pclose<cr>
|
2016-08-18 19:10:48 -04:00
|
|
|
|
map <Leader>sw :SudoWrite<cr>
|
2013-07-19 01:39:58 -04:00
|
|
|
|
map <Leader>sz :so ~/.vimrc<cr>
|
2013-04-29 13:32:51 -04:00
|
|
|
|
|
2016-08-13 16:06:49 -04:00
|
|
|
|
" PLUGIN CONFIGURATION
|
|
|
|
|
" style
|
2017-08-31 00:19:46 -04:00
|
|
|
|
set t_8f=[38;2;%lu;%lu;%lum
|
|
|
|
|
set t_8b=[48;2;%lu;%lu;%lum
|
|
|
|
|
if has('nvim')
|
2020-01-21 10:04:27 -05:00
|
|
|
|
set cursorline " Highlight current line
|
|
|
|
|
set cursorcolumn " Highlight current column
|
2017-08-31 00:19:46 -04:00
|
|
|
|
set termguicolors
|
|
|
|
|
colorscheme onedark
|
|
|
|
|
else
|
|
|
|
|
colorscheme jellybeans
|
|
|
|
|
endif
|
2016-08-13 16:06:49 -04:00
|
|
|
|
syntax enable
|
2013-10-01 14:36:44 -04:00
|
|
|
|
|
2017-09-12 09:11:38 -04:00
|
|
|
|
highlight ExtraWhitespace ctermbg=196
|
2016-08-16 00:27:42 -04:00
|
|
|
|
|
2017-10-18 10:40:07 -04:00
|
|
|
|
" fzf
|
2021-05-24 08:48:02 -04:00
|
|
|
|
let $FZF_DEFAULT_COMMAND = 'ag --hidden --ignore .git -g ""'
|
2017-10-18 10:40:07 -04:00
|
|
|
|
|
2018-05-30 09:14:30 -04:00
|
|
|
|
" terraform
|
|
|
|
|
let g:terraform_align=1
|
|
|
|
|
|
2016-08-16 00:27:42 -04:00
|
|
|
|
" ZoomWin
|
|
|
|
|
function! ZoomState()
|
2017-10-17 23:47:58 -04:00
|
|
|
|
if exists('t:zoomwintab')
|
2016-08-16 00:27:42 -04:00
|
|
|
|
return 'Z'
|
|
|
|
|
else
|
|
|
|
|
return ''
|
|
|
|
|
endif
|
|
|
|
|
endfunction
|