" --- Basic Quality of Life --- set nocompatible filetype plugin indent on syntax on set number set relativenumber set mouse=r set clipboard=unnamedplus " --- Plugin Management (vim-plug) --- call plug#begin('~/.vim/plugged') Plug 'ojroques/vim-oscyank' call plug#end() " --- Ghostty / Modern Terminal Compatibility --- if (has("termguicolors")) " Fix for some older vim versions in modern terms let &t_8f = "\[38;2;%lu;%lu;%lum" let &t_8b = "\[48;2;%lu;%lu;%lum" set termguicolors endif " --- Smart OSC52 Yanking (Works with Ghostty) --- " This allows copying to your Mac clipboard over SSH if has('autocmd') autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | execute 'OSCYankReg "' | endif endif " --- UI and Search --- set hlsearch set incsearch set ignorecase set smartcase set wildmenu " --- Tab Settings (Standardized for the Lab) --- set tabstop=4 set shiftwidth=4 set expandtab " --- User Specific Logic --- {% if v_user == 'root' %} " Visual warning that you are editing as ROOT hi StatusLine ctermbg=red ctermfg=white hi StatusLineNC ctermbg=red ctermfg=gray {% endif %} " Add user identity to status line set statusline=%f\ %h%m%r%=USER:\ {{ v_user }}\ %p%%