set nocompatible filetype on filetype plugin on filetype indent on syntax on set number set mouse=a set cursorline set cursorcolumn set shiftwidth=4 set tabstop=4 "set expandtab set nobackup set scrolloff=10 set incsearch set ignorecase set smartcase set showcmd set showmode set showmatch set hlsearch set history=1000 set wildmenu set wildmode=list:longest set wildignore=*.docx,*.jpg,*.png,*.gif,*.pdf,*.pyc,*.exe,*.flv,*.img,*.xlsx set noswapfile set nobackup set nowb set list set listchars=tab:\ ›\ ,eol:¬,trail:⋅ set wrap set linebreak set backspace=indent,eol,start set colorcolumn=80 set spell " PLUGINS {{{ call plug#begin('~/.vim/plugged') Plug 'dense-analysis/ale' Plug 'rust-lang/rust.vim' Plug 'scrooloose/nerdtree' Plug 'nanotech/jellybeans.vim' Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline-themes' Plug 'OmniSharp/omnisharp-vim' call plug#end() " }}} " PLUGIN CONFIGS {{{ " ALE " Configure Linters let g:ale_linters = { \ 'rust': ['analyzer'], \ 'c': ['clang'], \ 'cs': ['OmniSharp'], \} " Enable Code Completion " TODO: get this working damnit! set completeopt=menu,menuone,preview,noselect,noinsert let g:ale_completion_enabled = 1 " Configure Fixers let g:ale_fixers = { \ 'rust': ['rustfmt', 'trim_whitespace', 'remove_trailing_lines'], \} " Enables lint on entering a file and on save of file let g:ale_lint_on_enter = 1 let g:ale_lint_on_save = 1 " Configure symbols let g:ale_sign_error = '' let g:ale_sign_warning = '' let g:ale_sign_info = ' ' let g:ale_sign_style_error = '' let g:ale_sign_style_warning = '' " OMNISHARP " Configure OmniSharp Roslyn to use stdio let g:OmniSharp_server_stdio = 1 let g:OmniSharp_server_use_net6 = 1 " AIRLINE let g:airline_powerline_fonts = 1 let g:airline#extensions#tabline#enabled = 1 " airline theme let g:airline_theme='jellybeans' " JELLYBEANS THEME let g:jellybeans_overrides = { \ 'background': { 'ctermbg': 'none', '256ctermbg': 'none' }, \} if has('termguicolors') && &termguicolors let g:jellybeans_overrides['background']['guibg'] = 'none' endif " }}} " MAPPINGS {{{ " fix the movement keys noremap ; l noremap l k noremap k j noremap j h " tab movement nnoremap :tabprev nnoremap :tabnext " Map CTRL+Click to GoToDef nnoremap :ALEGoToDefinition " }}} " VIMSCRIPT {{{ " enable code folding for vim type files. augroup filetype_vim autocmd! autocmd FileType vim setlocal foldmethod=marker augroup END " }}} colorscheme jellybeans