set nocompatible " Scripts----------------------------- " Required: set runtimepath+=/home/lys/.local/share/dein/repos/github.com/Shougo/dein.vim " Required: if dein#load_state('/home/lys/.local/share/dein') call dein#begin('/home/lys/.local/share/dein') " Let dein manage dein " Required: call dein#add('/home/lys/.local/share/dein/repos/github.com/Shougo/dein.vim') " Add or remove your plugins here: " After removing a plugin you should call: " call map(dein#check_clean(), "delete(v:val, 'rf')") " call dein#recache_runtimepath() call dein#add('Shougo/denite.nvim') call dein#add('SirVer/ultisnips') call dein#add('vim-airline/vim-airline') call dein#add('vim-airline/vim-airline-themes') call dein#add('tpope/vim-fugitive') call dein#add('tpope/vim-commentary') call dein#add('tpope/vim-obsession') call dein#add('tpope/vim-abolish') call dein#add('tpope/vim-unimpaired') call dein#add('tpope/vim-dispatch') call dein#add('tpope/vim-markdown') call dein#add('machakann/vim-sandwich') call dein#add('AndrewRadev/splitjoin.vim') call dein#add('wellle/targets.vim') call dein#add('luochen1990/rainbow') call dein#add('justinmk/vim-sneak') call dein#add('prabirshrestha/async.vim') call dein#add('prabirshrestha/vim-lsp') call dein#add('jpalardy/vim-slime') call dein#add('dpelle/vim-LanguageTool') call dein#add('lervag/vimtex') call dein#add('junegunn/goyo.vim') call dein#add('wsdjeg/FlyGrep.vim') call dein#add('junegunn/vim-easy-align') " Additional Colorschemes call dein#add('NLKNguyen/papercolor-theme') call dein#add('noahfrederick/vim-hemisu') call dein#add('srcery-colors/srcery-vim') " Required: call dein#end() call dein#save_state() endif " Required: filetype plugin indent on syntax enable " If you want to install not installed plugins on startup. "if dein#check_install() " call dein#install() "endif "End dein Scripts------------------------- " General settings """"""""""""""""""" set number relativenumber augroup numbertoggle autocmd! autocmd BufEnter,FocusGained,InsertLeave * set relativenumber autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber augroup END set expandtab set tabstop=2 set tw=80 set shiftwidth=2 set t_Co=256 colorscheme PaperColor set laststatus=2 set wildoptions= set foldlevel=99 set list set showbreak=↪\ set listchars=tab:→\ ,nbsp:␣,trail:•,extends:⟩,precedes:⟨ set fillchars=fold:\ " my leader my space noremap vnoremap map " Spelling Settings """"""""""""""""""" map ":silent setlocal spell! spelllang=en" map ":silent setlocal spell! spelllang=fr" hi clear SpellBad hi SpellBad cterm=underline let g:languagetool_jar = "/home/lys/.local/repos/languagetool/languagetool-standalone/target/LanguageTool-4.6-SNAPSHOT/LanguageTool-4.6-SNAPSHOT/languagetool-commandline.jar" " Airline """"""""" let g:airline#extensions#tabline#enabled = 1 let g:airline_powerline_fonts = 1 let g:airline_extensions = ['coc', 'tabline'] " vimtex """""""" let g:tex_flavor = "latex" " let g:tex_fold_enabled = 1 " let g:vimtex_text_obj_variant="vimtex" " goyo """""" let g:goyo_width = "80" let g:goyo_height = "95%" " Denite """"""""" " Define mappings autocmd FileType denite call s:denite_my_settings() function! s:denite_my_settings() abort nnoremap \ denite#do_map('do_action') nnoremap d \ denite#do_map('do_action', 'delete') nnoremap p \ denite#do_map('do_action', 'preview') nnoremap q \ denite#do_map('quit') nnoremap i \ denite#do_map('open_filter_buffer') nnoremap \ denite#do_map('toggle_select').'j' endfunction " Easy Align """"""""""""" " Start interactive EasyAlign in visual mode (e.g. vip) vmap (EasyAlign) " Start interactive EasyAlign for a motion/text object (e.g. gaip) nmap ga (EasyAlign) " Vimsneak remapping """"""""""""""""" " 2-character Sneak (default) nmap Sneak_s nmap Sneak_S " visual-mode xmap Sneak_s xmap Sneak_S " operator-pending-mode omap Sneak_s omap Sneak_S " repeat motion (enforced) nmap ;; Sneak_; omap ;; Sneak_; xmap ;; Sneak_; nnoremap ;i nnoremap ;o " lsp configuration """"""""""""""""""" if executable('clangd') au User lsp_setup call lsp#register_server({ \ 'name': 'clangd', \ 'cmd': {server_info->['clangd', '-background-index']}, \ 'whitelist': ['c', 'cpp', 'objc', 'objcpp'], \ }) endif " \ 'workspace_config': {'rust': {'clippy_preference': 'off'}}, if executable('rls') au User lsp_setup call lsp#register_server({ \ 'name': 'rls', \ 'cmd': {server_info->['rustup', 'run', 'stable', 'rls']}, \ 'whitelist': ['rust'], \ }) endif let g:lsp_diagnostics_enabled = 0 " disable diagnostics support let g:lsp_signs_enabled = 1 " enable signs " highlight code within markdown """""""""""""""""""""""""""""""" let g:markdown_fenced_languages = [ \ 'lisp', \ 'ocaml', \ 'c', \ 'erb=eruby', \ 'cpp', \ 'js=javascript', \ 'json=javascript', \ 'ruby', \ 'haskell', \ 'html', \ 'css' \ ] " transparency toggle switch """""""""""""""""""""""""""" function! GetHighlightTerm(group, term) let output = execute('hi ' . a:group) return matchstr(output, a:term.'=\zs\S*') endfunction let g:_ctermbg = GetHighlightTerm("Normal", "ctermbg") function! ToogleTransparency() let ctermbg = GetHighlightTerm("Normal", "ctermbg") if ctermbg ==# "" execute('hi Normal ctermbg=' . g:_ctermbg) else hi Normal ctermbg=NONE endif endfunction nnoremap yot :call ToogleTransparency() " Rainbow mode & toggle switch """""""""""""""""""""""""""""" let g:rainbow_active = 1 let g:rainbow_conf = { \ 'separately': { \ 'rust': { \ 'parentheses': [ \ 'start=/(/ end=/)/ fold', \ 'start=/\[/ end=/\]/ fold', \ 'start=/{/ end=/}/ fold', \ 'start=// fold' \ ], \ } \ } \ } nnoremap yok :RainbowToggle " slime """"""" let g:slime_target = "tmux" let g:slime_default_config = {"socket_name": get(split($TMUX, ","), 0), "target_pane": ":.1"} let g:slime_dont_ask_default = 1