From 1cace80e4832a5d250ef4b7ccd687996563fb01b Mon Sep 17 00:00:00 2001 From: venomade Date: Thu, 27 Feb 2025 17:06:42 +0000 Subject: Add old dotfiles --- nixos/config/vimrc | 302 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 nixos/config/vimrc (limited to 'nixos/config/vimrc') diff --git a/nixos/config/vimrc b/nixos/config/vimrc new file mode 100644 index 0000000..43b39ac --- /dev/null +++ b/nixos/config/vimrc @@ -0,0 +1,302 @@ +" 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