2018-11-08 07:32:36 -06:00
|
|
|
|
" install plugin manager if needed
|
|
|
|
|
augroup PluginManagerInstaller
|
|
|
|
|
if has('nvim')
|
|
|
|
|
if empty(glob('~/.config/nvim/autoload/plug.vim'))
|
|
|
|
|
silent !curl -fLo ~/.config/nvim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
|
|
|
autocmd VimEnter * PlugInstall
|
|
|
|
|
endif
|
|
|
|
|
else
|
|
|
|
|
if empty(glob('~/.vim/autoload/plug.vim'))
|
|
|
|
|
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
|
|
|
|
autocmd VimEnter * PlugInstall
|
|
|
|
|
endif
|
|
|
|
|
end
|
|
|
|
|
augroup End
|
|
|
|
|
|
2019-02-09 10:17:39 -06:00
|
|
|
|
let g:airline_powerline_fonts = 1
|
|
|
|
|
let g:airline#extensions#tabline#enabled = 1 " automatically displays all buffers when there's only one tab open
|
|
|
|
|
let g:airline#extensions#tabline#fnamemod = ':t'
|
|
|
|
|
" set laststatus=2 " always show statusline
|
|
|
|
|
" set noshowmode " hides default mode
|
|
|
|
|
|
|
|
|
|
" cleanup/simplify airline
|
|
|
|
|
let g:airline#extensions#tabline#left_sep = ''
|
|
|
|
|
let g:airline#extensions#tabline#left_alt_sep = ''
|
|
|
|
|
let g:airline_right_alt_sep = ''
|
|
|
|
|
let g:airline_right_sep = ''
|
|
|
|
|
let g:airline_left_alt_sep= ''
|
|
|
|
|
let g:airline_left_sep = ''
|
|
|
|
|
let g:airline#extensions#tabline#buffers_label = ''
|
|
|
|
|
|
|
|
|
|
" short mode texts
|
|
|
|
|
let g:airline_mode_map = {
|
|
|
|
|
\ '__' : '-',
|
|
|
|
|
\ 'n' : 'N',
|
|
|
|
|
\ 'i' : 'I',
|
|
|
|
|
\ 'R' : 'R',
|
|
|
|
|
\ 'T' : 'T',
|
|
|
|
|
\ 't' : 'T',
|
|
|
|
|
\ 'c' : 'C',
|
|
|
|
|
\ 'v' : 'V',
|
|
|
|
|
\ 'V' : 'V',
|
|
|
|
|
\ '' : 'V',
|
|
|
|
|
\ 's' : 'S',
|
|
|
|
|
\ 'S' : 'S',
|
|
|
|
|
\ '' : 'S',
|
|
|
|
|
\ }
|
|
|
|
|
|
|
|
|
|
let g:indent_guide_auto_colors = 1
|
|
|
|
|
let g:indent_guides_enable_on_vim_startup = 1
|
|
|
|
|
|
|
|
|
|
" no ALE gutter
|
2019-06-25 15:57:42 -05:00
|
|
|
|
" let g:ale_sign_column_always = 0
|
|
|
|
|
" let g:ale_set_signs = 0
|
|
|
|
|
" highlight clear ALEErrorSign
|
|
|
|
|
" highlight clear ALEWarningSign
|
2019-02-09 10:17:39 -06:00
|
|
|
|
|
|
|
|
|
" fix me, baby
|
2019-06-25 15:57:42 -05:00
|
|
|
|
" let g:ale_fix_on_save = 1
|
2019-02-09 10:17:39 -06:00
|
|
|
|
|
|
|
|
|
" autocomplete
|
2019-06-25 15:57:42 -05:00
|
|
|
|
" let g:ale_completion_enabled = 1
|
|
|
|
|
" let g:ale_typescript_tslint_use_global = 1
|
2018-11-08 07:32:36 -06:00
|
|
|
|
|
2019-02-09 10:17:39 -06:00
|
|
|
|
let g:fzf_layout = { 'window': 'enew' }
|
|
|
|
|
|
2018-07-13 12:33:04 -05:00
|
|
|
|
" check if we're using vim as the manpage viewer before loading session plugins
|
|
|
|
|
if exists('asmanviewer')
|
|
|
|
|
let g:prosession_dir = '/dev/null'
|
|
|
|
|
else
|
|
|
|
|
Plug 'tpope/vim-obsession' " session ease-of-use
|
|
|
|
|
Plug 'dhruvasagar/vim-prosession' " more session ease-of-use
|
|
|
|
|
let g:prosession_dir = '~/.config/nvim/session/'
|
|
|
|
|
endif
|
|
|
|
|
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'junegunn/vim-plug' " plugin manager should manage itself
|
|
|
|
|
Plug 'vim-airline/vim-airline' " status line
|
|
|
|
|
Plug 'vim-airline/vim-airline-themes' " more minimal status line
|
|
|
|
|
Plug 'nathanaelkane/vim-indent-guides' " indentation guides
|
2019-06-25 15:57:42 -05:00
|
|
|
|
" Plug 'w0rp/ale' " syntax checker
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'SirVer/ultisnips' " snippet manager
|
2018-07-13 12:33:04 -05:00
|
|
|
|
Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} " fuzzy file finding
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'junegunn/fzf.vim' " helpers for using fzf in vim
|
|
|
|
|
Plug 'bkad/CamelCaseMotion' " camel case and underscore word movements
|
|
|
|
|
Plug 'vim-scripts/LargeFile' " gracefully handle very large files
|
|
|
|
|
Plug 'tpope/vim-commentary' " toggle comments in code easily
|
|
|
|
|
Plug 'tpope/vim-repeat' " better vim repeating for plugin-provided actions
|
|
|
|
|
Plug 'vim-scripts/SyntaxRange' " defined different syntax ranges in a file for highlighting
|
|
|
|
|
Plug 'tmux-plugins/vim-tmux-focus-events' " allow transitions within tmux
|
|
|
|
|
Plug 'christoomey/vim-tmux-navigator' " allow transitions within tmux
|
|
|
|
|
Plug 'godlygeek/tabular' " align text
|
|
|
|
|
Plug 'lytedev/vim-superman' " view man pages with vim
|
|
|
|
|
Plug 'tpope/vim-surround' " quickly modify text surrounding objects
|
|
|
|
|
Plug 'tpope/vim-speeddating' " vim knows about date-like text objects
|
|
|
|
|
Plug 'tpope/vim-fugitive' " vim git commands
|
|
|
|
|
Plug 'michaeljsmith/vim-indent-object' " adds an indentation level text object
|
|
|
|
|
Plug 'wellle/targets.vim' " adds some more handy text objects
|
|
|
|
|
Plug 'dbakker/vim-projectroot' " adds helper functions for getting to a project's root directory
|
|
|
|
|
Plug 'junegunn/goyo.vim' " better distraction-free editing
|
2019-07-24 11:23:18 -05:00
|
|
|
|
Plug 'tpope/vim-sleuth' " try and detect indent method
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'editorconfig/editorconfig-vim' " loads project-specific editor settings
|
2019-03-13 07:51:11 -05:00
|
|
|
|
Plug 'sheerun/vim-polyglot' " vim plugin loader for many languages
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'leafo/moonscript-vim', {'for': ['moon', 'moonscript']} " moonscript language
|
|
|
|
|
Plug 'OmniSharp/omnisharp-vim', {'for': ['cs']} " C# language
|
2019-09-24 08:51:02 -05:00
|
|
|
|
" Plug 'junegunn/vim-peekaboo' " preview registers
|
2019-02-04 01:43:53 -06:00
|
|
|
|
Plug 'scrooloose/nerdtree' " file browser
|
|
|
|
|
Plug 'tpope/vim-eunuch' " unix helper commands
|
2019-03-13 07:50:31 -05:00
|
|
|
|
Plug 'sheerun/vim-polyglot' " vim plugin loader for many languages
|
2019-03-13 07:36:53 -05:00
|
|
|
|
Plug 'leafo/moonscript-vim', {'for': ['moon', 'moonscript']} " moonscript language
|
|
|
|
|
Plug 'OmniSharp/omnisharp-vim', {'for': ['cs']} " C# language
|
2019-06-25 15:57:42 -05:00
|
|
|
|
Plug 'neoclide/coc.nvim', {'branch': 'release'} " language server completion
|
2019-09-26 12:04:23 -05:00
|
|
|
|
Plug 'JakeBecker/elixir-ls', {'for': ['elixir', 'eelixir'], 'do': { -> g:elixirls.compile() }}
|
2019-08-30 14:55:44 -05:00
|
|
|
|
Plug 'tpope/vim-dadbod' " databasing in vim
|
2019-09-24 08:51:02 -05:00
|
|
|
|
Plug 'lytedev/elm-vim' " elm lang
|
2019-10-21 11:12:42 -05:00
|
|
|
|
Plug 'google/vim-jsonnet' " jsonnet
|
2019-08-06 12:33:23 -05:00
|
|
|
|
Plug 'ssh://git@git.lyte.dev:2222/lytedev/vim-lytlang.git'
|