dotfiles/nvim/init.vim

96 lines
2.2 KiB
VimL

let g:nvim_dotfiles_dir = expand('<sfile>:p:h')
let g:vim_ide = get(g:, 'vim_ide', 0)
let &runtimepath = g:nvim_dotfiles_dir.','.&runtimepath.','.g:nvim_dotfiles_dir.'/after'
let s:vim_config_dir = expand('~/.config/nvim')
let s:vim_plug_script = s:vim_config_dir . '/autoload/plug.vim'
let s:vim_plug_home = s:vim_config_dir . '/plugged'
let s:just_installed_vim_plug = 0
if !filereadable(s:vim_plug_script)
execute '!curl -fL https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim --create-dirs -o' shellescape(s:vim_plug_script)
autocmd VimEnter * PlugInstall --sync
endif
call plug#begin(s:vim_config_dir . '/plugged')
Plug 'junegunn/vim-plug'
" Files {{{
Plug 'tpope/vim-eunuch'
if g:vim_ide
Plug 'francoiscabrol/ranger.vim'
endif
" }}}
" Editing {{{
Plug 'easymotion/vim-easymotion'
Plug 'junegunn/vim-easy-align'
Plug 'Raimondi/delimitMate'
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-surround'
Plug 'Yggdroot/indentLine'
Plug 'henrik/vim-indexed-search'
Plug 'andymass/vim-matchup'
" Plug 'tommcdo/vim-exchange'
Plug 'inkarkat/vim-ingo-library' " required by LineJuggler
Plug 'inkarkat/vim-LineJuggler', { 'branch': 'stable' }
Plug 'reedes/vim-pencil'
" }}}
" Text objects {{{
Plug 'kana/vim-textobj-user'
Plug 'kana/vim-textobj-entire'
Plug 'kana/vim-textobj-line'
Plug 'kana/vim-textobj-indent'
" }}}
" UI {{{
Plug 'moll/vim-bbye'
Plug 'gerw/vim-HiLinkTrace'
Plug 'vim-airline/vim-airline'
Plug 'tpope/vim-obsession'
Plug 'romainl/vim-qf'
if g:vim_ide
Plug 'dyng/ctrlsf.vim'
endif
" }}}
" Git {{{
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-rhubarb'
Plug 'airblade/vim-gitgutter'
" }}}
" FZF {{{
Plug 'junegunn/fzf', { 'do': './install --bin' }
Plug 'junegunn/fzf.vim'
" }}}
" Programming {{{
Plug 'sheerun/vim-polyglot'
if g:vim_ide
Plug 'neoclide/coc.nvim', { 'do': 'yarn install' }
Plug 'dag/vim2hs'
endif
" }}}
call plug#end()
" Automatically install/clean plugins (because I'm a programmer) {{{
augroup vimrc-plugins
autocmd!
autocmd VimEnter *
\ if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
\| PlugInstall --sync | q
\| endif
augroup END
" }}}
colorscheme dotfiles