diff options
author | Oxbian <got.dacs@slmail.me> | 2024-05-09 19:22:20 +0200 |
---|---|---|
committer | Oxbian <got.dacs@slmail.me> | 2024-05-09 19:22:20 +0200 |
commit | f63208096bd0b5623692839a7091e99008ef5e0a (patch) | |
tree | d20b94de37d451ff498427fa5ff14c9f98cf1bb8 /conf/plugins.vim | |
parent | 583cee5d527698baebfa1ee4845c1a1ebbcf2453 (diff) | |
download | vimrc-f63208096bd0b5623692839a7091e99008ef5e0a.tar.gz vimrc-f63208096bd0b5623692839a7091e99008ef5e0a.zip |
FIX: symlink glitch + removing unused plugins from README
Diffstat (limited to 'conf/plugins.vim')
-rw-r--r-- | conf/plugins.vim | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/conf/plugins.vim b/conf/plugins.vim new file mode 100644 index 0000000..7dd1f9a --- /dev/null +++ b/conf/plugins.vim @@ -0,0 +1,131 @@ +"""""""""""""""""""""""""" +" Plugins +"""""""""""""""""""""""""" +" Install vim-plug if not found +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 +endif + +" Run PlugInstall if there are missing plugins +autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)')) + \| PlugInstall --sync | source $MYVIMRC +\| endif + +call plug#begin('~/.vim/plugged') + +" UI & Themes +Plug 'joshdick/onedark.vim' " Onedark themes for vim +Plug 'liuchengxu/vim-which-key' " Show leader mapping cheatsheet + +" Git integration +Plug 'airblade/vim-gitgutter' " Git diff + +" Autocompletion, linter, syntax +Plug 'neoclide/coc.nvim', {'branch': 'release'} + +" Tools +Plug 'wakatime/vim-wakatime' " Wakatime +Plug 'ap/vim-css-color' " rgb, hex color preview + +call plug#end() + +filetype plugin indent on " Allow filetype detection, plugins, indentation + +""""""""""""""""""""""""" +" Configuration +""""""""""""""""""""""""" +" Netrw (filetree built-in vim) +let g:netrw_keepdir = 0 " Reload buffer usefull when moving or removing file +let g:netrw_winsize = 10 " Size of filetree buffer +let g:netrw_banner = 0 " Removing netrw banner +let g:netrw_localcopydircmd = 'cp -r' " Changing copy command to add recursive copy + +" Statusline +let g:currentmode={ + \ 'n' : 'NORMAL ', + \ 'v' : 'VISUAL ', + \ 'V' : 'V·Line ', + \ "\<C-V>" : 'V·Block ', + \ 'i' : 'INSERT ', + \ 'R' : 'R ', + \ 'Rv' : 'V·Replace ', + \ 'c' : 'Command ', + \} +set laststatus=2 +set statusline= +" VIM Mode +set statusline+=\ %{toupper(g:currentmode[mode()])}%{&spell?'[SPELL]':''}\| +" File (path, modified, readonly ? ) +set statusline+=%h\ %F +set statusline+=%{&modified?'\ [+]':''} +set statusline+=%{&readonly?'\ ':''} +" Filetype +set statusline+=%=%y +set statusline+=\ \|\ %{&fileencoding?&fileencoding:&encoding} +set statusline+=\ \|\ [%{&fileformat}\] +" Line count and percentage +set statusline+=\ \|\ %l:%c +set statusline+=\ [%p%%]\ + + +" Which Key +call which_key#register('<Space>', "g:which_key_map") +let g:which_key_map = {} + +" Buffer key help +let g:which_key_map.b = { + \ 'name' : '+buffer', + \ 'd' : 'current buffer close', + \ 'a' : 'close all buffers', + \ 'n' : 'go to next buffer', + \ 'p' : 'go to previous buffer', + \ } + +" Tab key help +let g:which_key_map.t = { + \ 'name' : '+tab', + \ 't<leader>' : 'go to next tab', + \ 'n' : 'open new tab', + \ 'o' : 'close other tabs', + \ 'c' : 'close current tab', + \ 'm' : 'move tab after another', + \ 'l' : 'switch between this & last tab', + \ 'e' : 'open new tab with current buffer', + \ } + +" Spell key help +let g:which_key_map.s = { + \ 'name' : '+spell', + \ 's' : 'toggle spell check', + \ 'n' : 'next spell word', + \ 'p' : 'previous spell word', + \ 'a' : 'add word in dict', + \ '?' : 'list word alternatives', + \ } + +" Hunk key help +let g:which_key_map.h = { + \ 'name' : '+git hunk', + \ 'l' : 'remove highlight', + \ 'p' : 'go previous hunk', + \ 'n' : 'go next hunk', + \ 't' : 'enable/disable gitgutter', + \ 's' : 'stage hunk', + \ 'u' : 'undo hunk', + \ 'P' : 'preview hunk', + \ } + +" LSP key help +let g:which_key_map.g = { + \ 'name' : '+LSP', + \ 'd' : 'go to definition', + \ 'n' : 'next diagnostic', + \ 'p' : 'previous diagnostic', + \ 'r' : 'go to reference', + \ 'R' : 'rename object', + \ 'y' : 'type definition', + \ 'i' : 'go to implementation', + \ 'h' : 'documentation', + \ 'f' : 'format document', + \ } |