123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- call plug#begin('~/.vim/plugged')
- Plug 'tpope/vim-sensible'
- Plug 'tpope/vim-sleuth'
- Plug 'tpope/vim-fugitive'
- Plug 'tpope/vim-surround'
- Plug 'tpope/vim-abolish'
- Plug 'bling/vim-airline'
- Plug 'mhinz/vim-signify'
- Plug 'sjl/gundo.vim'
- Plug 'Shougo/denite.nvim', { 'do': ':UpdateRemotePlugins' }
- Plug 'Shougo/deoplete.nvim'
- Plug 'EinfachToll/DidYouMean'
- Plug 'diepm/vim-rest-console'
- Plug 'idanarye/vim-merginal'
- Plug 'vimwiki/vimwiki'
- Plug 'vim-scripts/dbext.vim', {'for': 'sql'}
- Plug 'cespare/vim-toml'
- Plug 'chrisbra/csv.vim'
- if executable('lein')
- Plug 'guns/vim-sexp'
- Plug 'tpope/vim-sexp-mappings-for-regular-people'
- Plug 'tpope/vim-fireplace', {'for': 'clojure'}
- endif
- if executable('sbt')
- Plug 'derekwyatt/vim-scala'
- endif
- if executable('kotlin')
- Plug 'udalov/kotlin-vim'
- endif
- if executable('ansible')
- Plug 'pearofducks/ansible-vim'
- endif
- if executable('rustc')
- Plug 'rust-lang/rust.vim'
- endif
- if executable('npm')
- Plug 'pangloss/vim-javascript'
- Plug 'mxw/vim-jsx'
- endif
- if executable('qml')
- Plug 'peterhoeg/vim-qml'
- endif
- Plug 'trusktr/seti.vim'
- call plug#end()
- " ----- plugin settings ------
- let g:deoplete#enable_at_startup = 1
- let g:signify_vcs_list = [ 'git' ]
- let g:jsx_ext_required = 0
- let g:airline_left_sep=''
- let g:airline_right_sep=''
- let g:vimwiki_list = [{'path': '~/.root/home/wiki'}]
- let g:vrc_curl_opts = {
- \ '-L': '',
- \ '-i': '',
- \ '-s': '',
- \ '-S': ''
- \}
- call denite#custom#option('_', 'cursor_wrap', 1)
- call denite#custom#option('_', 'prompt', '>')
- call denite#custom#option('_', 'updatetime', 16)
- call denite#custom#map(
- \ 'insert',
- \ 'jj',
- \ '<denite:quit>',
- \ 'noremap'
- \)
- call denite#custom#map(
- \ 'insert',
- \ '<C-j>',
- \ '<denite:move_to_next_line>',
- \ 'noremap'
- \)
- call denite#custom#map(
- \ 'insert',
- \ '<C-k>',
- \ '<denite:move_to_previous_line>',
- \ 'noremap'
- \)
- call denite#custom#map(
- \ 'insert',
- \ '<C-s>',
- \ '<denite:do_action:split>',
- \ 'noremap'
- \)
- call denite#custom#map(
- \ 'insert',
- \ '<C-v>',
- \ '<denite:do_action:vsplit>',
- \ 'noremap'
- \)
- " use rg or ag if present
- if executable('rg')
- call denite#custom#var('file_rec', 'command',
- \ ['rg', '--files', '--glob', '!.git'])
- call denite#custom#var('grep', 'command', ['rg'])
- call denite#custom#var('grep', 'default_opts',
- \ ['--vimgrep', '--no-heading'])
- call denite#custom#var('grep', 'recursive_opts', [])
- call denite#custom#var('grep', 'pattern_opt', ['--regexp'])
- call denite#custom#var('grep', 'separator', ['--'])
- call denite#custom#var('grep', 'final_opts', [])
- elseif executable('ag')
- call denite#custom#var('file_rec', 'command',
- \ ['ag', '--follow', '--nocolor', '--nogroup', '-g', ''])
- call denite#custom#var('grep', 'command', ['ag'])
- call denite#custom#var('grep', 'default_opts',
- \ ['-i', '--vimgrep'])
- call denite#custom#var('grep', 'recursive_opts', [])
- call denite#custom#var('grep', 'pattern_opt', [])
- call denite#custom#var('grep', 'separator', ['--'])
- call denite#custom#var('grep', 'final_opts', [])
- endif
- " ------ settings ------
- " change terminal title
- set title
- " xdg-ish settings
- set undodir=~/.cache/vim/undo,.
- set backupdir=~/.cache/vim/backup,.
- set directory=~/.cache/vim/swap//,.
- " default indentation
- set shiftwidth=2
- set tabstop=4
- set expandtab
- " permanent undo history
- set undofile
- " allow switching buffers
- set hidden
- " always scroll
- set scrolloff=99
- " show line numbers
- set number
- set relativenumber
- " show gutter
- set signcolumn=yes
- " set wordwrap indent
- set nowrap
- set linebreak
- if exists("&breakindent")
- set breakindent
- set breakindentopt=shift:2,sbr
- endif
- " show whitespace
- set list
- " make a new copy of the file for backup
- " setting to no or auto messes with filewatchers
- set backupcopy=yes
- " ------ key bindings ------
- " ; as :
- nnoremap ; :
- vnoremap ; :
- " allow <ESC> via jj in insert mode
- inoremap jj <ESC>
- " fix j/k with wraps
- nnoremap j gj
- nnoremap k gk
- vnoremap j gj
- vnoremap k gk
- " opening unite
- nnoremap <C-P> :Denite file_rec<cr>
- nnoremap <C-O> :Denite buffer<cr>
- imap <C-W> <ESC><C-W>
- nnoremap <C-T>h :tabprev<cr>
- nnoremap <C-T>l :tabnext<cr>
- " grepper
- nnoremap <Leader>f :Denite -mode=normal grep:.<CR>
- " git
- nnoremap <Leader>gs :Gstatus<CR>
- nnoremap <Leader>gb :Merginal<CR>
- " undo tree
- nnoremap <Leader>ut :GundoToggle<CR>
- " vimrc
- nnoremap <Leader>ve :vsplit $MYVIMRC<CR>
- nnoremap <Leader>vs :source $MYVIMRC<CR>
- " ------ nvim specific ------
- if has('nvim')
- set inccommand=split
- let g:airline_theme_patch_func = 'AirlineThemePatch'
- function! AirlineThemePatch(palette)
- let a:palette.terminal = copy(a:palette.insert)
- endfunction
- let g:terminal_scrollback_buffer_size = 10000
- tnoremap <C-j><C-j> <C-\><C-N>
- tmap <C-T> <C-\><C-N><C-T>
- tmap <C-W> <C-\><C-N><C-W>
- tmap <C-P> <C-\><C-N><C-P>
- tmap <C-O> <C-\><C-N><C-O>
- tnoremap <C-V><C-V><C-V> <C-V><C-V>
- tnoremap <C-V><C-V> <C-V>
- tnoremap <C-V> <C-\><C-N>"+pi
- autocmd BufWinEnter,WinEnter term://* startinsert
- autocmd BufLeave term://* stopinsert
- nnoremap <Leader>tv :vsp term://zsh<CR>
- nnoremap <Leader>to :term<CR>
- endif
- augroup formatting
- au!
- " strip trailing whitespace
- autocmd BufWritePre * :%s/\s\+$//e
- autocmd FileType markdown :set tw=80
- augroup end
- colorscheme seti
- if filereadable(expand('~/.vimrc.local'))
- source ~/.vimrc.local
- endif
|