dotfiles/.config/vim/vim_plug

109 lines
2.9 KiB
Text

" vim: filetype=vim
" ==============================
" VIM-Plug - Plugin Manager
" ==============================
" ----- Vim Plugin Directory (Change required)
let $vimplug_bundle='~/.local/share/vim/bundle'
" let $vimplug_bundle='c:\_local\share\vim\bundle'
" ----- List of used plugins
call plug#begin($vimplug_bundle)
Plug 'deoplete-plugins/deoplete-jedi'
Plug 'kovetskiy/sxhkd-vim'
Plug 'lervag/vimtex'
Plug 'junegunn/goyo.vim'
Plug 'itchyny/lightline.vim'
Plug 'autozimu/LanguageClient-neovim', {
\ 'branch': 'next',
\ 'do': 'bash install.sh',
\ }
Plug 'SirVer/ultisnips'
Plug 'honza/vim-snippets'
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'preservim/nerdcommenter'
Plug 'preservim/nerdtree'
Plug 'ryanoasis/vim-devicons'
if !has('nvim')
Plug 'ptzz/lf.vim'
else
Plug 'ptzz/lf.vim'
Plug 'rbgrouleff/bclose.vim'
endif
Plug 'tpope/vim-commentary'
Plug 'hugolgst/vimsence'
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
call plug#end()
" ----- PlugIns Configuration
" - deoplete
let g:deoplete#enable_at_startup = 1
inoremap <expr><tab> pumvisible() ? "\<c-n>" : "\<tab>"
" - NERDTree
let NERDTreeShowHidden=1
let NERDTreeMinimalUI = 1
" - Snippet
let g:UltiSnipsExpandTrigger="<C-Tab>"
let g:UltiSnipsJumpForwardTrigger="<C-Tab>"
let g:UltiSnipsJumpBackwardTrigger="<S-Tab>"
let g:UltiSnipsEditSplit="vertical"
" - lightline
set laststatus=2
let g:lightline = {
\ 'colorscheme': 'zi',
\ 'active': {
\ 'left': [ [ 'mode', 'paste' ],
\ [ 'gitbranch', 'fugitive', 'readonly', 'filename', 'modified' ] ],
\ 'right': [ [ 'lineinfo' ],
\ [ 'percent' ],
\ [ 'fileformat', 'fileencoding', 'filetype', ] ]
\ },
\ 'component': {
\ 'lineinfo': ' %2l:%-2v%<',
\ 'percent': '☰ %2p%%',
\ },
\ 'component_function': {
\ 'gitbranch': 'FugitiveHead',
\ 'fugitive': 'LightlineFugitive',
\ 'filename': 'LightlineFilename'
\ },
\}
set noshowmode
" function for lightline
function! LightlineFugitive()
if &ft !~? 'vimfiler' && exists('*FugitiveHead')
return FugitiveHead()
endif
return ''
endfunction
function! LightlineFilename()
let root = fnamemodify(get(b:, 'git_dir'), ':h')
let path = expand('%:p')
if path[:len(root)-1] ==# root
return path[len(root)+1:]
endif
return expand('%')
endfunction
" no lightline on nerdtree
augroup filetype_nerdtree
au!
au FileType nerdtree call s:disable_lightline_on_nerdtree()
au WinEnter,BufWinEnter,TabEnter * call s:disable_lightline_on_nerdtree()
augroup END
fu s:disable_lightline_on_nerdtree() abort
let nerdtree_winnr = index(map(range(1, winnr('$')), {_,v -> getbufvar(winbufnr(v), '&ft')}), 'nerdtree') + 1
call timer_start(0, {-> nerdtree_winnr && setwinvar(nerdtree_winnr, '&stl', '%#Normal#')})
endfu