" This is Venomade's vimrc " Install Vim Plug let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim' if empty(glob(data_dir . '/autoload/plug.vim')) silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim' autocmd VimEnter * PlugInstall --sync | source $MYVIMRC endif " PLUGins call plug#begin('~/.vim/plugged') " Maybe replace with fzf in future Plug 'ctrlpvim/ctrlp.vim' " COC because YCM is too hard Plug 'neoclide/coc.nvim', {'branch': 'release'} " Pretty Colors Plug 'jackguo380/vim-lsp-cxx-highlight' "put this into coc-settings.json "{ "suggest.noselect": true, "clangd.semanticHighlighting": true, "coc.preferences.semanticTokensHighlights": false "} " λ Mathematical Crowbars λ Plug 'neovimhaskell/haskell-vim' " I'm too lazy to actually program Plug 'Exafunction/codeium.vim' " Getting Gruuvy Plug 'dkasak/gruvbox' " Space then... ummm Plug 'liuchengxu/vim-which-key' " Ahhh a lovely #00ff00 field Plug 'chrisbra/Colorizer' " Customize the flight path Plug 'vim-airline/vim-airline' " \("^_^")/ Plug 'LunarWatcher/auto-pairs' " So take me back in time!!! Plug 'farmergreg/vim-lastplace' " One  please! Oooh and a  too! " Plug 'ryanoasis/vim-devicons' call plug#end() " Colorscheme colorscheme gruvbox set bg=dark " Undo History set undofile set undodir=~/.vim/undodir " Common Settings syntax on filetype plugin indent on set ts=2 sts=2 sw=4 et ai si set nu rnu set nowrap set formatoptions-=cro set splitbelow splitright set encoding=UTF-8 set shell=zsh set ignorecase set smartcase set incsearch " Cursor Shapes let &t_SI = "\[6 q" let &t_SR = "\[4 q" let &t_EI = "\[2 q" " Terminal Title autocmd BufEnter * let &titlestring = '' . expand("%:t") set title " Airline Config let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#codeium#enabled = 1 let g:airline#extensions#tabline#formatter = 'unique_tail' let g:airline_powerline_fonts = 1 let g:airline#extensions#coc#enabled = 1 let g:airline#extensions#coc#show_coc_status = 1 " Haskell Highlighting let g:haskell_enable_quantification = 1 " to enable highlighting of `forall` let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec` let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc` let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern` let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static` let g:haskell_backpack = 1 " to enable highlighting of backpack keywords " Color Highlighting set termguicolors let g:colorizer_auto_color = 1 " AutoPairs let g:AutoPairsMapBS = 1 " Recentre view on slow move nnoremap j jzz nnoremap k kzz " Same for mouse set mouse=a map 2jzz map 2kzz " Leader Key let mapleader = " " " WhichKey nnoremap :WhichKey '' " Quick split movement map h map j map k map l " Terminal Buffer map t :term " Fuzzy Find map ff :CtrlP map fb :CtrlPBuffer map fa :CtrlPMixed " Copy and Paste from System Clipboard noremap y "*y noremap p "*p " Quick Add/Remove Semicolon map ; :s/\v(.)$/\=submatch(1)==';' ? '' : submatch(1).';' " Buffers map bk :bd map bn :bn map bp :bp " Clang Build Individual File (No Includes) " map bf :!clang -Werror % -o out/%:r && ./out/%:r " Haskell Run File map rh :!runhaskell % " Remove Trailing Whitespaces on Save autocmd BufWritePre * %s/\s\+$//e " Codeium Config let g:codeium_disable_bindings = 1 inoremap