2020-12-06 02:29:15 +01:00
|
|
|
" Install vim-plug if not installed already (requires curl)
|
|
|
|
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 --sync | source ~/.vimrc
|
|
|
|
endif
|
|
|
|
|
|
|
|
" Plugins
|
|
|
|
call plug#begin('~/.vim/vim-plug')
|
|
|
|
" Basic vim config
|
|
|
|
Plug 'tpope/vim-sensible'
|
|
|
|
" Colorscheme
|
|
|
|
Plug 'https://github.com/morhetz/gruvbox'
|
2022-02-07 21:12:30 +01:00
|
|
|
|
2023-01-19 17:33:11 +01:00
|
|
|
" Csv files 🤦
|
2022-01-25 10:55:13 +01:00
|
|
|
Plug 'https://github.com/mechatroner/rainbow_csv', { 'for': 'csv' }
|
2021-12-25 22:55:49 +01:00
|
|
|
|
2020-12-06 02:29:15 +01:00
|
|
|
" Asynchronous Linting Engine
|
|
|
|
Plug 'https://github.com/dense-analysis/ale'
|
|
|
|
" Git
|
|
|
|
Plug 'https://github.com/tpope/vim-fugitive'
|
|
|
|
" Comment shit easily
|
|
|
|
Plug 'https://github.com/tpope/vim-commentary'
|
|
|
|
" Browse file system
|
|
|
|
Plug 'https://github.com/scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
|
2020-12-07 15:36:18 +01:00
|
|
|
" status line
|
|
|
|
Plug 'vim-airline/vim-airline'
|
|
|
|
Plug 'vim-airline/vim-airline-themes'
|
2021-12-08 23:45:40 +01:00
|
|
|
" Tags integration
|
|
|
|
Plug 'https://github.com/preservim/tagbar'
|
2020-12-06 02:29:15 +01:00
|
|
|
" Insert parentheses in pairs
|
|
|
|
Plug 'https://github.com/jiangmiao/auto-pairs'
|
|
|
|
Plug 'https://github.com/amix/open_file_under_cursor.vim'
|
|
|
|
" Multi cursor
|
|
|
|
Plug 'https://github.com/mg979/vim-visual-multi'
|
|
|
|
" Yank history
|
|
|
|
Plug 'https://github.com/maxbrunsfeld/vim-yankstack'
|
|
|
|
" Mark indentation level
|
|
|
|
Plug 'https://github.com/nathanaelkane/vim-indent-guides'
|
|
|
|
|
2023-09-14 23:54:50 +02:00
|
|
|
|
|
|
|
if executable('meson')
|
|
|
|
Plug 'https://github.com/igankevich/mesonic'
|
|
|
|
endif
|
2021-09-26 17:32:11 +02:00
|
|
|
|
2021-09-30 12:41:07 +02:00
|
|
|
" fzf
|
2022-11-26 00:52:01 +01:00
|
|
|
Plug 'junegunn/fzf'
|
2021-09-30 12:41:07 +02:00
|
|
|
Plug 'junegunn/fzf.vim'
|
|
|
|
" Open tags with fzf's :Tags
|
2023-09-14 23:54:50 +02:00
|
|
|
if executable('ctags')
|
|
|
|
Plug 'https://github.com/ludovicchabant/vim-gutentags.git'
|
|
|
|
endif
|
2021-03-15 10:29:08 +01:00
|
|
|
|
2021-09-30 12:42:37 +02:00
|
|
|
" snippets
|
2023-01-19 17:33:11 +01:00
|
|
|
if has('python3')
|
2022-03-25 08:13:48 +01:00
|
|
|
Plug 'https://github.com/SirVer/ultisnips'
|
|
|
|
Plug 'https://github.com/honza/vim-snippets'
|
|
|
|
endif
|
2020-12-06 02:29:15 +01:00
|
|
|
|
|
|
|
" Git gutter line
|
|
|
|
Plug 'https://github.com/airblade/vim-gitgutter'
|
|
|
|
" Zero distractions
|
|
|
|
Plug 'https://github.com/junegunn/goyo.vim'
|
|
|
|
|
|
|
|
" Highlight lines not covered by tests
|
|
|
|
Plug 'https://github.com/mgedmin/coverage-highlight.vim'
|
|
|
|
|
|
|
|
"Languages
|
2021-11-16 14:46:30 +01:00
|
|
|
Plug 'https://github.com/bfrg/vim-cpp-modern', {'for': 'cpp'}
|
2023-09-14 23:54:50 +02:00
|
|
|
Plug 'epheien/termdbg', {'for': ['c', 'cpp']}
|
|
|
|
|
|
|
|
if executable('cargo')
|
|
|
|
Plug 'https://github.com/rust-lang/rust.vim', {'for': 'rust'}
|
|
|
|
endif
|
2021-11-16 14:46:30 +01:00
|
|
|
Plug 'https://github.com/vim-scripts/nginx.vim', {'for': 'nginx'}
|
|
|
|
Plug 'https://github.com/plasticboy/vim-markdown', {'for': 'markdown'}
|
|
|
|
Plug 'https://github.com/cespare/vim-toml', {'for': 'toml'}
|
|
|
|
Plug 'https://github.com/vim-scripts/iptables', {'for': 'iptables'}
|
2023-09-14 23:54:50 +02:00
|
|
|
if executable('vite')
|
|
|
|
" TODO: check if plugin is still up-to-date
|
|
|
|
Plug 'https://github.com/leafoftree/vim-vue-plugin', {'for': 'vue'}
|
|
|
|
endif
|
|
|
|
if executable('terraform')
|
|
|
|
Plug 'https://github.com/hashivim/vim-terraform', {'for': 'terraform'}
|
|
|
|
endif
|
|
|
|
if executable('go')
|
|
|
|
Plug 'https://github.com/fatih/vim-go', {'for': 'go'}
|
|
|
|
endif
|
2020-12-06 02:29:15 +01:00
|
|
|
|
2023-09-14 23:06:56 +02:00
|
|
|
if executable('adb') && executable('gradle')
|
|
|
|
Plug 'https://github.com/udalov/kotlin-vim', {'for': 'kotlin'}
|
|
|
|
Plug 'https://github.com/hsanson/vim-android', {'for': 'java'}
|
|
|
|
endif
|
|
|
|
|
2023-09-14 23:54:50 +02:00
|
|
|
if executable('qml')
|
|
|
|
Plug 'https://github.com/peterhoeg/vim-qml', {'for': 'qml'}
|
|
|
|
endif
|
2020-12-06 02:29:15 +01:00
|
|
|
|
2023-09-14 23:54:50 +02:00
|
|
|
if executable('pytest')
|
|
|
|
Plug 'https://github.com/alfredodeza/pytest.vim', {'for': 'python'}
|
|
|
|
endif
|
2021-10-01 10:38:35 +02:00
|
|
|
|
2023-09-14 23:58:35 +02:00
|
|
|
" Colorize hex codes and/or color strings
|
|
|
|
Plug 'https://github.com/chrisbra/Colorizer'
|
|
|
|
|
2020-12-06 02:29:15 +01:00
|
|
|
" No RGB, no party
|
|
|
|
let vim_razer = expand('~/projects_razer/vim-razer')
|
|
|
|
if isdirectory(vim_razer)
|
|
|
|
Plug vim_razer
|
|
|
|
endif
|
2023-09-14 23:54:50 +02:00
|
|
|
|
2020-12-06 02:29:15 +01:00
|
|
|
call plug#end()
|
2022-01-12 10:06:54 +01:00
|
|
|
|
|
|
|
" Install plugins if missing
|
|
|
|
if ! isdirectory(expand('~/.vim/vim-plug'))
|
|
|
|
PlugInstall
|
|
|
|
endif
|