───────┬──────────────────────────────────────────────────────────────────────── │ File: /home/mitch/.vimrc ───────┼──────────────────────────────────────────────────────────────────────── 1 │ " Description: My setting file for vim 2 │ " Author.....: Mitchell Johnston 3 │ " Updated....: Fri 13 Jun 2025 07:30:30 AM CDT 4 │ " 5 │ " Reference 6 │ " ========= 7 │ " 8 │ " Macros 9 │ " j gj Allows scroll down in sentence by line 10 │ " k gk Allows scroll up in sentence by line 11 │ " \b Markdown __bold__ word 12 │ " \i Markdown _italic_ word 13 │ " \e Open tab with emoji 14 │ " \l Run dictionary lookup script (default to lookup word under cursor) 15 │ " \N Toggle line numbers 16 │ " \n Scratch Pad 17 │ " \s Search KJV 18 │ " \S Toggle spell check 19 │ " \t Term in split window 20 │ " \T Term in a Tab 21 │ " \v Open .vimrc in new tab, sources when saved 22 │ " \pb Paragraph style=blue 23 │ " \py Paragraph style=yellow 24 │ " \pr Paragraph style=red 25 │ " \pg Paragraph style=green 26 │ " \wa Bash Cookbook 27 │ " \wb Bash Quick ref 28 │ 29 │ " Control and Alt Key mappings 30 │ " A-g Mark class=green 31 │ " A-r Mark class=red 32 │ " C-b Mark class=blue 33 │ " C-t Toggle Terminal 34 │ " C-y Mark class=yellow 35 │ 36 │ " F-Keys 37 │ " F2 New tab Netrw 38 │ " F3 Get URLS in current buffer (uses youtube-dl) 39 │ " F4- Open menu in console mode 40 │ " F5 - autocomplete, forward Insert mode 41 │ " F6 Replace current line with kjv output 42 │ " F7 Replace current line with formated output for file under /var/www (mp4 or 43 │ " picture) 44 │ " F8 Replace current line with link to file unde /var/www 45 │ " F9 Run ./compiler in current directory 46 │ " F12 Open file current buffer 47 │ " S-F12 Open file new tab 48 │ 49 │ " :Commands 50 │ 51 │ " :Plug{tab} Plugin manager 52 │ " :term Open a split window term 53 │ " :TableModeToggle VIM Table Mode toggle 54 │ 55 │ 56 │ " Typing savers 57 │ " ============== 58 │ 59 │ " bash 60 │ ab _var # Variables<CR>---------<CR><ESC>0D 61 │ ab _func # Functions<CR>---------<CR><ESC>0D 62 │ ab _main # Main<CR>----<CR><ESC>0D 63 │ 64 │ " urls 65 │ ab _crn http://crn.hopto.org/ 66 │ ab _email mitch@crn.hopto.org 67 │ ab _gop gopher://crn.hopto.org 68 │ ab _Jesus [Jesus](/Jesus) 69 │ ab _kjv [KJV](/#kjv) 70 │ ab _KJV [KJV](/#kjv) 71 │ ab _Bible [Bible](/bible) 72 │ ab _bible [Bible](/bible) 73 │ ab _study [Study Bible](/study) 74 │ 75 │ " dates 76 │ ab _date <C-R>=strftime("%a %b %d %Y")<CR> 77 │ ab _time <C-R>=strftime("%r %Z")<CR> 78 │ ab _u Updated: <C-R>=strftime('%A %m/%d/%y')<CR> 79 │ 80 │ " admonitions 81 │ ab _? :question: 82 │ ab _! :exclamation: __Important:__ 83 │ ab _ao 🎧 __Audio Only__ 84 │ ab _bl 🤬 __Warning bad language__ 85 │ ab _c :computer: __Code:__ 86 │ ab _ch :chart_with_upwards_trend: _Chart Of The Day:_ 87 │ ab _hc :sparkling_heart: __Health Clip__ 88 │ ab _d 🥵 __Warning Disturbing__ 89 │ ab _fun :laughing: __Some humor to lighten the day:__ 90 │ ab _geek 🧠 __Geek Related:__ 91 │ ab _k :key: 92 │ ab _l - [🔗 title](link){target="blank"}<ESC>04l 93 │ ab _memo :memo: __Note:__ 94 │ ab _book 📖 __Worth Reading:__ 95 │ ab _mw 🤓 ___Must Watch___ 96 │ ab _rl :+1: __Rule of Thumb__ 97 │ ab _tip :bulb: __Tip:__ 98 │ ab _up 🔧 __Updates:__ 99 │ ab _warn :warning: __Warning:__ 100 │ ab _ar 🔗 _Off-site Artical_ 101 │ 102 │ " misc 103 │ ab --0 [🔝](#)<CR><HR><CR><ESC> 104 │ ab --1 <hr class="one"> 105 │ ab --2 <hr class="two"> 106 │ ab --3 <hr class="three"> 107 │ ab --p <hr class="packman"> 108 │ ab _A >🎧 Audio Included<CR> 109 │ ab _V >🎥 Video Included<CR> 110 │ ab _L ### [🔗 title](link){target="blank"} <C-R>=strftime("%r %Z")<CR><ESC>44h 111 │ ab _mj Mitchell Johnston - UID 0 112 │ ab _nl :newspaper: __News Links:__<CR> 113 │ ab _see - [👓 See more](link) 114 │ ab _sn - [📝 Show Notes](link){target="blank"}<ESC>21h 115 │ ab _ts :mortar_board: [__Theological Seminary Of The Air__](/mp3/ruckman/theologic-seminary-of-the-air/)<CR> 116 │ ab _tb {target="blank"} 117 │ ab _div <div style="text-align: center;"> 118 │ ab _re <u>Related:</u> 119 │ ab _U </u> 120 │ ab _u <u><ESC>i 121 │ ab _vc <script src="https://av1611.com/verseclick/verseclick.js"></script> 122 │ ab _iframe <iframe src="link" scrolling="no" width="100%" height="400" style="border:1px solid black;"></iframe> 123 │ ab _Iframe <iframe src="link" scrolling="no" onload="resizeIframe(this) style="border:1px solid black;"></iframe> 124 │ 125 │ " Offsite 126 │ ab _axe - [🔗 Dr Axe](https://draxe.com/){target="blank"} 127 │ ab _ak - [🔗 Andrew Kaufman, M.D.](https://rumble.com/c/c-1128483){target="blank"} 128 │ ab _da - [🔗 Dr. Ardis](https://thedrardisshow.com/){target="blank"} 129 │ ab _dlm - [🔗 Dr. Lee Merritt](https://drleemerritt.com/){target="blank"} 130 │ ab _ep - [🔗 Eric Peters](https://www.ericpetersautos.com/){target="blank"} 131 │ ab _dk - [🔗 The David Knight Show](http://www.thedavidknightshow.com/){target="blank"}<CR>- [🔗 David Knight Gold](https://davidknight.gold/){target="blank"} 132 │ ab _fed - [🔗 Flat Earth Dave](https://flatearthdave.com/){target="blank"} 133 │ ab _jl - [🔗 Jon Levi](https://jonlevichannel.com/){target="blank"}<CR>- [📖 Evidence of the OLD WORLD by Jon Levi and David Edward](https://www.amazon.com/Evidence-Old-World-David-Edward/dp/B0CJ4546QY/)<CR> 134 │ ab _kb - [🔗 Dr. Ken Berry](https://www.drberry.com/){target="blank"}<CR>- [📖 His books](https://www.amazon.com/stores/Ken-D.-Berry-MD/author/B0777N6CYH)<CR> 135 │ ab _lrt - [🔗 Lei's Real Talk](https://rumble.com/c/c-1991822){target="blank"} 136 │ ab _mia - [🔗 Man in America](https://rumble.com/c/ManInAmerica){target="blank"} 137 │ ab _mi - [🔗 Mises](https://mises.org/){target="blank"} 138 │ ab _mlb - [🔗 MYLUNCHBREAK](https://rumble.com/c/MYLUNCHBREAK){target="blank"} 139 │ ab _norm - [🔗 Norml](https://norml.org/){target="blank"} 140 │ ab _rc - [🔗 Rain Country](https://rumble.com/c/RainCountryHomestead){target="blank"} 141 │ ab _pft - [🔗 Press for Truth](https://pressfortruth.ca/){target="blank"} 142 │ ab _rg - [🔗 ReallyGraceful](https://rumble.com/user/reallygraceful){target="blank"}<CR>- [📖 The Deep State Encyclopedia: Exposing the Cabal's Playbook](https://www.amazon.com/Deep-State-Encyclopedia-Exposing-Playbook/dp/B0BW2K4GRT/ref=sr_1_1?crid=L3E7PRK32XAF&dib=eyJ2IjoiMSJ9.abdCs2CjZJUaoZb39XP1UU8PqU7hXwaPfdKvrBkA9eCv7-LBc27eAel8xNDCA9zbfMUzTLgmqVOaHUFVH93Cd75NVYt7BO7hi5OldPhjRiz70HMSGAcxacy0gIN3us4p.OuuQzd1UMe1hFSXk6R4NUlJB66CS144pPKpvG3mP8MA&dib_tag=se&keywords=deep+state+encyclopedia+really+graceful&qid=1726739581&sprefix=really+gra%2Caps%2C158&sr=8-1){target="blank"} 143 │ ab _sr - [🔗 Solari Report](https://home.solari.com/){target="blank"} 144 │ ab _stl - [🔗 Switched To Linux](https://switchedtolinux.com/){target="blank"} 145 │ ab _tav - [🔗 The Last American Vagabond](ihttps://www.thelastamericanvagabond.com/ima-palantir-ai-panopticon/){target="blank"} 146 │ ab _wf - [🔗 The Why Files](https://rumble.com/c/TheWhyFiles){target="blank"} 147 │ 148 │ " On-site 149 │ 150 │ ab _911 - [🎬 More on 911](/media/911/) 151 │ ab _addict - [🎬 More on Addiction](/media/health/addiction/) 152 │ ab _arc - [🎬 For more content check the archives](/media/) 153 │ ab _ba - [💻 Bible Analyzer](/media/bible-analyzer) 154 │ ab _berg - [🎬 More from Dr Berg](/media/health/dr-berg/)<CR>- [⬇️ Downloadable Resources](https://www.drberg.com/resources) 155 │ ab _bio - [🎬 More on Biography](/media/biography/) 156 │ ab _chicks - [🎬 More on Chickens](/media/prep/chickens-rabbits/) 157 │ ab _cooper - [🎬 More from Bill Cooper](/media/bill-cooper/) 158 │ ab _control - [🎬 More on Control](/media/control/) 159 │ ab _covid - [🎬 More on Covid](/media/health/covid/) 160 │ ab _cr - [🎬 More from James Corbett](/media/corbett/)<CR>- [📖 Reportage: Essays on the New World Order](https://reportagebook.com/){target="blank"}<CR> 161 │ ab _cults - [🎬 More on Cults](/media/cults/) 162 │ ab _dental - [🎬 More on Dental](/media/health/dental/) 163 │ ab _detox - [🎬 More on Detox](health/#detox) 164 │ ab _diet - [🎬 More on Diet](/media/health/diet/) 165 │ ab _dirt - [🎬 More on Diatomaceous Earth](/media/health/minerals/diatomaceous-earth/) 166 │ ab _env - [🎬 More on Environment](/media/environment/) 167 │ ab _em - [🎬 More Eustace Mullins](/media/eustace-mullins/) 168 │ ab _flat - [🎬 More on Flat Earth](/media/flat/) 169 │ ab _gatto - [🎬 More from John Talor Gatto](/media/john-t-gatto/)<CR>- [📖 Books](https://www.amazon.com/stores/John-Taylor-Gatto/author/B001K7S0AE)<CR> 170 │ ab _gear - [🎬 More on Gear](/media/gear/) 171 │ ab _geg - [🎬 More from G.Edward Griffin](/media/g-edward-griffin/) 172 │ ab _gipp - [🎬 More from Sam Gipp](/media/gipp)<CR>- [📖 Daystar Publishing](https://daystarpublishing.org/)<CR> 173 │ ab _gr - [🎬 More from Gail Riplinger](/media/riplinger/)<CR>- [📖 AV Publications](https://avpublications.com/)<CR> 174 │ ab _garden - [🎬 More on Gardening](/media/prep/garden/) 175 │ ab _hemp - [🎬 More on Hemp](/media/health/remedies/hemp/) 176 │ ab _herbs - [🎬 More on Herbs](/media/health/remedies/herbs/) 177 │ ab _history - [🎬 More on history](/media/history/) 178 │ ab _jd - [🎬 More from Dr James Dinicolantonio](/media/health/dr-james-dinicolantonio/)<CR> - [Store](https://linktr.ee/drjamesdinic)<CR> 179 │ ab _law - [🎬 More on Law](/media/law/) 180 │ ab _km - [🎬 More on Kary Mullis](/media/health/kary-mullis/)<CR>- [📖 Dancing Naked in the Mind Field](https://www.amazon.com/Dancing-Naked-Mind-Field-Mullis-ebook/dp/B004AM5R0W?ref_=ast_author_mpb)<CR> 181 │ ab _larkin - [🎬 More from Larkin Rose](/media/larkin/)<CR>- [The Most Dangerous Superstition](https://www.amazon.com/Most-Dangerous-Superstition-Larken-Rose-ebook/dp/B00UV41W2U?ref_=ast_author_dp)<CR> 182 │ ab _levy - [🎬 More from Dr Thomas Levy](/media/health/dr-thomas-levy/)<CR>- [📖 Dr. Levy's Books](https://www.tomlevymd.com/books.php)<CR> 183 │ ab _mica - [🎬 More from Mica Colston](/media/mica-colston/) 184 │ ab _min [🎬 More on Minerals](/include/vids/health/minerals/) 185 │ ab _money - [🎬 More on Money](/media/money/) 186 │ ab _mp3 - [🎧 MP3 Files](/mp3) 187 │ ab _ortho - [🎬 More on Orthomolecular Medicine](/include/vids/health/orthomolecular/) 188 │ ab _pets - [🎧 More on Pets](/media/prep/pets/) 189 │ ab _pics - [🎨 More Pictures](/pics) 190 │ ab _radio - [🎬 More on Radio](/media/gear/radio/) 191 │ ab _rem - [🎬 More on Remedies](/include/vids/health/remedies/) 192 │ ab _mms - [🎬 More on MMS](/include/vids/health/remedies/mms) 193 │ ab _ruckman - [🎬 More from Peter Ruckman](/media/ruckman/)<CR>- [📖 BBB Store](https://store.kjv1611.org/)<CR> 194 │ ab _sam - [🎬 More from Dr Sam Bailey](/media/health/dr-sam-bailey/)<CR>- [📖 The Final Pandemic: An Antidote To Medical Tyranny](https://www.amazon.com/Final-Pandemic-Antidote-Medical-Tyranny-ebook/dp/B0CW1QXP31/ref=sr_1_1?sr=8-1)<CR>- [📖 Terrain Therapy: How To Achieve Perfect Health Through Diet, Living Habits & Divine Thinking](https://www.amazon.com/Terrain-Therapy-Achieve-Perfect-Thinking/dp/1991185502/ref=sr_1_2?sr=8-2)<CR>- [📖 Virus Mania: Corona/COVID-19, Measles, Swine Flu, Cervical Cancer, Avian Flu, SARS, BSE, Hepatitis C, AIDS, Polio, Spanish Flu. How the Medical Industry ... Billion-Dollar Profits At Our Expense](https://www.amazon.com/Virus-Mania-COVID-19-Hepatitis-Billion-Dollar-ebook/dp/B08YFBCH2F/ref=sr_1_3?sr=8-3)<CR> 195 │ ab _sircus - [🎬 More from Dr Mark Sircus](/media/health/dr-mark-sircus/)<CR>- [drsircus.com/](https://drsircus.com/)<CR> 196 │ ab _save - [🔗 Salvation (forgiveness)](/salvation) 197 │ ab _selft - [🎬 More on Self Therapy](/media/health/self-therapy/) 198 │ ab _spy - [🎬 More on Spying](/media/spying/) 199 │ ab _survive - [🎬 More on Survival](/media/survive/) 200 │ ab _tea - [🎬 More on Tea](/include/vids/health/remedies/tea/) 201 │ ab _tracks - [📚 Tracks](/tracks) 202 │ ab _turp - [🎬 More on Turpentine](/include/vids/health/remedies/essential-oils/turpentine) 203 │ ab _vax - [🎬 More on Vaccines](/media/health/vaccines/) 204 │ ab _vernon - [🎬 More from Dr Vernon Coleman](/media/health/vernon/) 205 │ 206 │ 207 │ " Create task, check off, uncheck (see my .bashrc functions 'today' & 'task') 208 │ ab ,c - [ ] 209 │ map ,C :s/\[ \]/\[✔\]<CR> " Completed 210 │ map ,X :s/\[❌\]/\[ \]<CR> " Unmark completed 211 │ map ,i :s/\[ \]/\[🔨\]<CR> " In progress 212 │ map ,I :s/\[🔨\]/\[ \]<CR> " Unmark In progress 213 │ map ,o :s/\[ \]/\[⭕\]<CR> " Outsourced 214 │ map ,O :s/\[⭕\]/\[ \]<CR> " Unmark Outsourced 215 │ 216 │ " Settings 217 │ " ======== 218 │ 219 │ set wildoptions=pum 220 │ set cryptmethod=blowfish " use blowfish encryption for encrytped files 221 │ set switchbuf=usetab " when switching buffers, include tabs 222 │ set splitright " create vertical splits to the right 223 │ set splitbelow " create horizontal splits below 224 │ set formatoptions=croq " c=autowrap comments, r=continue comment on <enter>, 225 │ " o=continue comment on o or O, q=allow format comment with gqgq 226 │ set backspace=2 " allow backspacing over everything in insert mode 227 │ set encoding=UTF-8 228 │ 229 │ " Folds 230 │ set foldenable " Enable folding 231 │ set foldmethod=indent " Folding based on markers 232 │ set foldlevelstart=10 " open most folds by default 233 │ set foldnestmax=10 " 10 nested fold max 234 │ 235 │ " Tabs 236 │ set hardtabs=4 " Tab setups 237 │ set tabstop=4 238 │ set shiftwidth=4 239 │ set expandtab " tab to spaces 240 │ set softtabstop=4 " number of spaces in tab when editing 241 │ set tabpagemax=15 " Max number of tabs displayed 242 │ set showtabline=2 " always display tab line 243 │ 244 │ " Completion 245 │ set dictionary+=~/etc/words-alpha.txt "Ctr-n, Ctr-p word complete 246 │ set complete+=k 247 │ set ignorecase " On searches 248 │ set infercase 249 │ set autoindent " Good for codding 250 │ set smartindent " Turn on file typed indenting 251 │ set shiftround " When shifting lines, round the indentation to the nearest multiple of “shiftwidth.” 252 │ set history=50 " keep 50 lines of command line history 253 │ set laststatus=2 " Make sure the status line is always displayed 254 │ set nocompatible " Better for Vim features 255 │ set shell=/bin/bash " Set default shell 256 │ set scrolloff=0 " Start scrolling when I'm 3 lines from top/bottom 257 │ set backspace=indent,eol,start "Allow backspacing over indention, line breaks and insertion start 258 │ set lbr! " wrap on words 259 │ set formatoptions+=j " Delete comment characters when joining lines. 260 │ set spell " Turn on spell check 261 │ set belloff=all 262 │ 263 │ " Display 264 │ set number relativenumber "turn on normal and relitive line numbers 265 │ set ruler " Display ruler 266 │ set showcmd " Show commands 267 │ set showmatch " Show matching brackets 268 │ set showmode " Display what mode you are in 269 │ " Allow crosshair cursor highlighting. 270 │ hi CursorLine cterm=NONE ctermbg=0 271 │ hi CursorColumn cterm=NONE ctermbg=0 272 │ nnoremap <Leader>c :set cursorline! cursorcolumn!<CR> 273 │ set wildmenu " visual autocomplete for command menu 274 │ "set list " show hidden characters 275 │ set listchars=eol:¬,tab:→→,trail:.,extends:>,precedes:< 276 │ set autoread 277 │ 278 │ " Search 279 │ set path+=** " :find {file} supports wilecard 280 │ set wildmenu " tab completetion 281 │ set hlsearch " Highlight search matches 282 │ set smartcase " Turn off ignorcase if caps is used 283 │ set incsearch " search as characters are entered 284 │ 285 │ " netrw setting 286 │ let g:netrw_liststyle = 3 287 │ let ghregex='\(^\|\s\s\)\zs\.\S\+' 288 │ let g:netrw_list_hide=ghregex 289 │ 290 │ " backup files 291 │ silent !mkdir ~/.vim/backup > /dev/null 2>&1 292 │ set viminfo='1000,f1,<500 " File information to Keep 293 │ set backup "Turn on backups 294 │ set backupdir=~/.vim/backup "The place to remove files after I make big errors 295 │ set backupskip=/tmp/*,~/.vim/backup/* 296 │ set writebackup "Make backup before overwriting the current buffer 297 │ set backupcopy=yes "Overwrite the original backup file 298 │ au BufWritePre * let &bex = '@' . strftime("%F.%H:%M") 299 │ 300 │ " Keep undo history across sessions by storing it in a file 301 │ if has('persistent_undo') 302 │ call system('mkdir ~/.vim/undo') 303 │ set undodir=~/.vim/undo/ 304 │ set undofile 305 │ set undolevels=1000 306 │ set undoreload=10000 307 │ endif 308 │ 309 │ " Vim-plug 310 │ if empty(glob('~/.vim/autoload/plug.vim')) 311 │ silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs 312 │ \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim 313 │ autocmd VimEnter * PlugInstall --sync | source $MYVIMRC 314 │ endif 315 │ 316 │ " Plugins will be downloaded under the specified directory. 317 │ call plug#begin('~/.vim/plugged') 318 │ " Declare the list of plugins. 319 │ Plug 'ryanoasis/vim-devicons' 320 │ Plug 'marcopaganini/termschool-vim-theme' 321 │ Plug 'junegunn/fzf' 322 │ Plug 'junegunn/fzf.vim' 323 │ Plug 'katono/rogue.vim' 324 │ Plug 'dhruvasagar/vim-table-mode' 325 │ Plug 'hallison/vim-markdown' 326 │ Plug 'ap/vim-css-color' 327 │ Plug 'glensc/vim-syntax-lighttpd' 328 │ Plug 'jclsn/glow.vim' 329 │ 330 │ "Vim Rogue options 331 │ let g:rogue#name = 'Mitch' 332 │ let g:rogue#directory = '/home/mitch/etc' 333 │ let g:rogue#jump = '1' 334 │ let g:rogue#tombstone = '1' 335 │ let g:rogue#fruit = 'Grapes' 336 │ 337 │ " enable this plugin for filetypes, '*' for all files. 338 │ let g:apc_enable_ft = {'text':1, 'markdown':1, 'php':1} 339 │ 340 │ " List ends here. Plugins become visible to Vim after this call. 341 │ call plug#end() 342 │ 343 │ " File types 344 │ " ========== 345 │ augroup configgroup 346 │ autocmd! 347 │ autocmd BufNewFile,BufFilePre,BufRead *.md set filetype=markdown 348 │ autocmd BufNewFile,BufFilePre,BufRead *.txt set filetype=txt 349 │ autocmd FileType make setlocal noexpandtab 350 │ autocmd BufEnter Makefile setlocal noexpandtab 351 │ autocmd BufEnter *.sh setlocal tabstop=2 352 │ autocmd BufEnter *.sh setlocal shiftwidth=2 353 │ autocmd BufEnter *.sh setlocal softtabstop=2 354 │ au BufNewFile,BufRead *conkyrc* set filetype=conkyrc 355 │ autocmd bufwritepost .vimrc source $MYVIMRC 356 │ autocmd bufwritepost sp.md <ESC>:!pandoc sp.md -o sp.html<CR> 357 │ augroup END 358 │ 359 │ " Display setup 360 │ " ============== 361 │ colorscheme termschool 362 │ :set guioptions-=r "remove right-hand scroll bar 363 │ set background=dark " Modify for dark background 364 │ "set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [POS=%04l,%04v][%p%%]\ [LEN=%L] 365 │ "au InsertEnter * hi StatusLine term=reverse ctermbg=5 gui=undercurl guisp=Magenta 366 │ "au InsertLeave * hi StatusLine term=reverse ctermfg=0 ctermbg=2 gui=bold,reverse 367 │ 368 │ " using Source Code Pro 369 │ set anti enc=utf-8 370 │ set guifont=Source\ Code\ Pro\ 16 371 │ filetype plugin on 372 │ syntax on 373 │ set conceallevel=2 374 │ 375 │ " Set style for spelling errors 376 │ hi clear SpellBad 377 │ hi SpellBad cterm=reverse 378 │ hi SpellBad gui=reverse 379 │ 380 │ " Macros 381 │ " ====== 382 │ map j gj 383 │ map k gk 384 │ map <leader>a <ESC>A [AW](#archaic) [NA](#names)<ESC>0n 385 │ map <leader>l <ESC>:term ++close lu <c-r><c-w><CR> 386 │ map <leader>N <ESC>:set nu! rnu!<CR> 387 │ map <leader>pb 0i<p class="blue"><ESC>A</p><ESC> 388 │ map <leader>pg 0i<p class="green"><ESC>A</p><ESC> 389 │ map <leader>pr 0i<p class="red"><ESC>A</p><ESC> 390 │ map <leader>py 0i<p class="yellow"><ESC>A</p><ESC> 391 │ map <leader>qn :tabedit ~/Documents/jots/scratch.md<CR> 392 │ " vim-powered terminal in split window 393 │ map <Leader>t :term ++close<cr> 394 │ tmap <Leader>t <c-w>:term ++close<cr> 395 │ 396 │ " vim-powered terminal in new tab 397 │ map <Leader>T :tab term ++close<cr> 398 │ tmap <Leader>T <c-w>:tab term ++close<cr> 399 │ map <leader>v :tabedit $MYVIMRC<CR> 400 │ map <leader>wb <ESC>:!epy ~/Documents/books/tech/dev-bash/bash-pocket-reference.epub<CR> 401 │ map <leader>wh <ESC>:!epy ~/Documents/books/tech/dev-web/oreilly-html-and-css-the-good-parts-by-the-good-parts.epub<CR> 402 │ noremap <space> za " space open/closes folds 403 │ noremap H :set hlsearch!<CR> 404 │ 405 │ " HTML 406 │ " ---- 407 │ " Highlite in blue (Ruckman) or yellow (mine) or green X-ref 408 │ map <C-b> 0i<mark class="blue"><ESC>A</mark><ESC>03j 409 │ map <C-y> 0i<mark class="yellow"><ESC>A</mark><ESC>03j 410 │ map <A-g> 0i<mark class="green";<ESC>A</mark><ESC>0 411 │ map <A-r> 0i<mark class="red";<ESC>A</mark><ESC>0 412 │ 413 │ " Function keys 414 │ " ------------- 415 │ 416 │ " noh - no highlight 417 │ map <esc> :noh <CR> 418 │ 419 │ " <F2> Explorer in newtab 420 │ map <F2> <ESC>:tabe .<CR> 421 │ map! <F2> <ESC>:tabe .<CR> 422 │ 423 │ " This calls my download manager. I make a list in vim, hit F3 and it downloads them. 424 │ map <F3> <ESC>:w ~/Downloads/get.txt<CR>:term ++close /home/mitch/bin/get -d<CR>> 425 │ 426 │ " F4 - autocomplete, backward Insert mode 427 │ "inoremap <F4> <C-P> 428 │ :source $VIMRUNTIME/menu.vim 429 │ :set wildmenu 430 │ :set cpo-=< 431 │ :set wcm=<C-Z> 432 │ :map <F4> :emenu <C-Z> 433 │ 434 │ " F5 - autocomplete, forward Insert mode 435 │ inoremap <F5> <C-N> 436 │ 437 │ " This allows me to insert a Bible quote in to a document. 438 │ map <F6> <ESC>0D<ESC>!!kjv 439 │ map! <F6> <ESC>0D<ESC>:!kjv 440 │ "map! <F6> <ESC>0D<ESC>:.!kjv 441 │ 442 │ " pi take the name of a mp4 or picture file under /var/www and will return html with png 443 │ " created for a markdown document. 444 │ map <F7> <ESC>0D<ESC>:.!pi 445 │ map! <F7> <ESC>0D<ESC>:.!pi 446 │ 447 │ " mkln is "make link" will return markdown formated link with emoji for major 448 │ " file types, and will auto-local file under /var/www. 449 │ map <F8> <ESC>0D<ESC>:.!mkln 450 │ map! <F8> <ESC>0D<ESC>:.!mkln 451 │ 452 │ " Run external compiler (used for CRN’s AV Bible) 453 │ map <F9> <ESC>:w!<ESC>:tab term ++close glow -p %<CR> 454 │ 455 │ " <F10> Place holder 456 │ 457 │ " Easy tab navigation 458 │ nnoremap <Leader>1 1gt 459 │ nnoremap <Leader>2 2gt 460 │ nnoremap <Leader>3 3gt 461 │ nnoremap <Leader>4 4gt 462 │ nnoremap <Leader>5 5gt 463 │ nnoremap <Leader>6 6gt 464 │ nnoremap <Leader>7 7gt 465 │ nnoremap <Leader>8 8gt 466 │ nnoremap <Leader>9 9gt 467 │ 468 │ 469 │ " ===== new status line ==== 470 │ 471 │ "" This was made by Reddit user u/SamLovesNotion. Also with the help of - https://tdaly.co.uk/projects/vim-statusline-generator/ for learning the syntax. Sorry for English & grammar, this post was made in hurry. 472 │ 473 │ " Images - https://www.reddit.com/r/vim/comments/ld8h2j/i_made_a_status_line_from_scratch_no_plugins_used/ 474 │ " I have used Nerd icon fonts. Icons won't work without them. https://github.com/ryanoasis/nerd-fonts/ 475 │ 476 │ " This statusline looks exactly like Vim Airline (even more customizable & powerful) & loads faster than Vim airline. Only take few ms to load. 477 │ 478 │ " STARTUP TIME - With Vim Airline - ~250ms. With this statusline - ~100ms. Without any statusline - ~98ms. 479 │ 480 │ " Add all of this at the end of your vimrc OR Create separate file like 'statusline.vim' & 'colorsgroup.vim' & source those files in your main vimrc. 481 │ " e.g. source "~/.config/vim/statusline.vim" 482 │ 483 │ 484 │ 485 │ " Color highlighting groups 486 │ " Add this AFTER `colorscheme` option in your vimrc. Otherwise your colorscheme will clear this highlightings. OR use ColorScheme autocommand. VERY IMPORTANT. 487 │ 488 │ " Color pallet 489 │ " Green - #2BBB4F (BG) - #080808 (FG) 490 │ " Blue - #4799EB 491 │ " Violet - #986FEC 492 │ " Yellow - #D7A542 493 │ " Orange - #EB754D 494 │ " Grey1 - #202020 495 │ " Grey - #303030 496 │ 497 │ 498 │ " Define color variables 499 │ let g:StslineColorGreen = "#2BBB4F" 500 │ let g:StslineColorBlue = "#4799EB" 501 │ let g:StslineColorViolet = "#986FEC" 502 │ let g:StslineColorYellow = "#D7A542" 503 │ let g:StslineColorOrange = "#EB754D" 504 │ 505 │ let g:StslineColorLight = "#C0C0C0" 506 │ let g:StslineColorDark = "#080808" 507 │ let g:StslineColorDark1 = "#181818" 508 │ let g:StslineColorDark2 = "#202020" 509 │ let g:StslineColorDark3 = "#303030" 510 │ 511 │ 512 │ " Define colors 513 │ let g:StslineBackColor = g:StslineColorDark2 514 │ let g:StslineOnBackColor = g:StslineColorLight 515 │ "let g:StslinePriColor = g:StslineColorGreen 516 │ let g:StslineOnPriColor = g:StslineColorDark 517 │ let g:StslineSecColor = g:StslineColorDark3 518 │ let g:StslineOnSecColor = g:StslineColorLight 519 │ 520 │ 521 │ " Create highlight groups 522 │ execute 'highlight StslineSecColorFG guifg=' . g:StslineSecColor ' guibg=' . g:StslineBackColor 523 │ execute 'highlight StslineSecColorBG guifg=' . g:StslineColorLight ' guibg=' . g:StslineSecColor 524 │ execute 'highlight StslineBackColorBG guifg=' . g:StslineColorLight ' guibg=' . g:StslineBackColor 525 │ execute 'highlight StslineBackColorFGSecColorBG guifg=' . g:StslineBackColor ' guibg=' . g:StslineSecColor 526 │ execute 'highlight StslineSecColorFGBackColorBG guifg=' . g:StslineSecColor ' guibg=' . g:StslineBackColor 527 │ execute 'highlight StslineModColorFG guifg=' . g:StslineColorYellow ' guibg=' . g:StslineBackColor 528 │ 529 │ 530 │ 531 │ " Statusline 532 │ 533 │ " Enable statusline 534 │ set laststatus=2 535 │ 536 │ " Disable showmode - i.e. Don't show mode like --INSERT-- in current statusline. 537 │ set noshowmode 538 │ 539 │ " Enable GUI colors for terminals (Some terminals may not support this, so you'll have to *manually* set color pallet for tui colors. Lie tuibg=255, tuifg=120, etc.). 540 │ set termguicolors 541 │ 542 │ 543 │ 544 │ " Understand statusline elements 545 │ 546 │ " %{StslineMode()} = Output of a function 547 │ " %#StslinePriColorBG# = Highlight group 548 │ " %F, %c, etc. are variables which contain value like - current file path, current colums, etc. 549 │ " %{&readonly?\"\ \":\"\"} = If file is readonly ? Then "Lock icon" Else : "Nothing" 550 │ " %{get(b:,'coc_git_status',b:GitBranch)} = If b:coc_git_status efists, then it's value, else value of b:GitBranch 551 │ " &filetype, things starting with & are also like variables with info. 552 │ " \ - Is for escaping a space. \" is for escaping a double quote. 553 │ " %{&fenc!='utf-8'?\"\ \":''} = If file encoding is NOT!= 'utf-8' ? THEN output a "Space" else : no character 554 │ 555 │ 556 │ 557 │ " Define active statusline 558 │ 559 │ function! ActivateStatusline() 560 │ call GetFileType() 561 │ setlocal statusline=%#StslinePriColorBG#\ %{StslineMode()}%#StslineSecColorBG#%{get(b:,'coc_git_status',b:GitBranch)}%{get(b:,'coc_git_blame','')}%#StslineBackColorFGPriColorBG#%#StslinePriColorFG#\ %{&readonly?\"\ \":\"\"}%F\ %#StslineModColorFG#%{&modified?\"\ \":\"\"}%=%#StslinePriColorFG#\ %{b:FiletypeIcon}%{&filetype}\ %#StslineSecColorFG#%#StslineSecColorBG#%{&fenc!='utf-8'?\"\ \":''}%{&fenc!='utf-8'?&fenc:''}%{&fenc!='utf-8'?\"\ \":''}%#StslinePriColorFGSecColorBG#%#StslinePriColorBG#\ %p\%%\ %#StslinePriColorBGBold#%l%#StslinePriColorBG#/%L\ :%c\ 562 │ endfunction 563 │ 564 │ 565 │ 566 │ " Define Inactive statusline 567 │ 568 │ function! DeactivateStatusline() 569 │ 570 │ if !exists("b:GitBranch") || b:GitBranch == '' 571 │ setlocal statusline=%#StslineSecColorBG#\ INACTIVE\ %#StslineSecColorBG#%{get(b:,'coc_git_statusline',b:GitBranch)}%{get(b:,'coc_git_blame','')}%#StslineBackColorFGSecColorBG#%#StslineBackColorBG#\ %{&readonly?\"\ \":\"\"}%F\ %#StslineModColorFG#%{&modified?\"\ \":\"\"}%=%#StslineBackColorBG#\ %{b:FiletypeIcon}%{&filetype}\ %#StslineSecColorFGBackColorBG#%#StslineSecColorBG#\ %p\%%\ %l/%L\ :%c\ 572 │ 573 │ else 574 │ setlocal statusline=%#StslineSecColorBG#%{get(b:,'coc_git_statusline',b:GitBranch)}%{get(b:,'coc_git_blame','')}%#StslineBackColorFGSecColorBG#%#StslineBackColorBG#\ %{&readonly?\"\ \":\"\"}%F\ %#StslineModColorFG#%{&modified?\"\ \":\"\"}%=%#StslineBackColorBG#\ %{b:FiletypeIcon}%{&filetype}\ %#StslineSecColorFGBackColorBG#%#StslineSecColorBG#\ %p\%%\ %l/%L\ :%c\ 575 │ endif 576 │ 577 │ endfunction 578 │ 579 │ 580 │ 581 │ " Get Statusline mode & also set primary color for that mode 582 │ function! StslineMode() 583 │ 584 │ let l:CurrentMode=mode() 585 │ 586 │ if l:CurrentMode==#"n" 587 │ let g:StslinePriColor = g:StslineColorGreen 588 │ let b:CurrentMode = "NORMAL " 589 │ 590 │ elseif l:CurrentMode==#"i" 591 │ let g:StslinePriColor = g:StslineColorViolet 592 │ let b:CurrentMode = "INSERT " 593 │ 594 │ elseif l:CurrentMode==#"c" 595 │ let g:StslinePriColor = g:StslineColorYellow 596 │ 597 │ let b:CurrentMode = "COMMAND " 598 │ 599 │ elseif l:CurrentMode==#"v" 600 │ let g:StslinePriColor = g:StslineColorBlue 601 │ let b:CurrentMode = "VISUAL " 602 │ 603 │ elseif l:CurrentMode==#"V" 604 │ let g:StslinePriColor = g:StslineColorBlue 605 │ let b:CurrentMode = "V-LINE " 606 │ 607 │ elseif l:CurrentMode==#"\<C-v>" 608 │ let g:StslinePriColor = g:StslineColorBlue 609 │ let b:CurrentMode = "V-BLOCK " 610 │ 611 │ elseif l:CurrentMode==#"R" 612 │ let g:StslinePriColor = g:StslineColorViolet 613 │ let b:CurrentMode = "REPLACE " 614 │ 615 │ elseif l:CurrentMode==#"s" 616 │ let g:StslinePriColor = g:StslineColorBlue 617 │ let b:CurrentMode = "SELECT " 618 │ 619 │ elseif l:CurrentMode==#"t" 620 │ let g:StslinePriColor =g:StslineColorYellow 621 │ let b:CurrentMode = "TERM " 622 │ 623 │ elseif l:CurrentMode==#"!" 624 │ let g:StslinePriColor = g:StslineColorYellow 625 │ let b:CurrentMode = "SHELL " 626 │ 627 │ endif 628 │ 629 │ 630 │ call UpdateStslineColors() 631 │ 632 │ return b:CurrentMode 633 │ 634 │ endfunction 635 │ 636 │ 637 │ 638 │ " Update colors. Recreate highlight groups with new Primary color value. 639 │ function! UpdateStslineColors() 640 │ 641 │ execute 'highlight StslinePriColorBG guifg=' . g:StslineOnPriColor ' guibg=' . g:StslinePriColor 642 │ execute 'highlight StslinePriColorBGBold guifg=' . g:StslineOnPriColor ' guibg=' . g:StslinePriColor ' gui=bold' 643 │ execute 'highlight StslinePriColorFG guifg=' . g:StslinePriColor ' guibg=' . g:StslineBackColor 644 │ execute 'highlight StslinePriColorFGSecColorBG guifg=' . g:StslinePriColor ' guibg=' . g:StslineSecColor 645 │ execute 'highlight StslineSecColorFGPriColorBG guifg=' . g:StslineSecColor ' guibg=' . g:StslinePriColor 646 │ 647 │ if !exists("b:GitBranch") || b:GitBranch == '' 648 │ execute 'highlight StslineBackColorFGPriColorBG guifg=' . g:StslineBackColor ' guibg=' . g:StslinePriColor 649 │ endif 650 │ 651 │ endfunction 652 │ 653 │ 654 │ 655 │ " Get git branch name 656 │ 657 │ function! GetGitBranch() 658 │ let b:GitBranch="" 659 │ try 660 │ let l:dir=expand('%:p:h') 661 │ let l:gitrevparse = system("git -C ".l:dir." rev-parse --abbrev-ref HEAD") 662 │ if !v:shell_error 663 │ let b:GitBranch=" ".substitute(l:gitrevparse, '\n', '', 'g')." " 664 │ execute 'highlight StslineBackColorFGPriColorBG guifg=' . g:StslineBackColor ' guibg=' . g:StslineSecColor 665 │ endif 666 │ catch 667 │ endtry 668 │ endfunction 669 │ 670 │ 671 │ 672 │ " Get filetype & custom icon. Put your most used file types first for optimized performance. 673 │ 674 │ function! GetFileType() 675 │ 676 │ if &filetype == 'typescript' 677 │ let b:FiletypeIcon = ' ' 678 │ 679 │ elseif &filetype == 'html' 680 │ let b:FiletypeIcon = ' ' 681 │ 682 │ elseif &filetype == 'scss' 683 │ let b:FiletypeIcon = ' ' 684 │ 685 │ elseif &filetype == 'css' 686 │ let b:FiletypeIcon = ' ' 687 │ 688 │ elseif &filetype == 'javascript' 689 │ let b:FiletypeIcon = ' ' 690 │ 691 │ elseif &filetype == 'javascriptreact' 692 │ let b:FiletypeIcon = ' ' 693 │ 694 │ elseif &filetype == 'markdown' 695 │ let b:FiletypeIcon = ' ' 696 │ 697 │ elseif &filetype == 'sh' || &filetype == 'zsh' 698 │ let b:FiletypeIcon = ' ' 699 │ 700 │ elseif &filetype == 'vim' 701 │ let b:FiletypeIcon = ' ' 702 │ 703 │ elseif &filetype == '' 704 │ let b:FiletypeIcon = '' 705 │ 706 │ elseif &filetype == 'rust' 707 │ let b:FiletypeIcon = ' ' 708 │ 709 │ elseif &filetype == 'ruby' 710 │ let b:FiletypeIcon = ' ' 711 │ 712 │ elseif &filetype == 'cpp' 713 │ let b:FiletypeIcon = ' ' 714 │ 715 │ elseif &filetype == 'c' 716 │ let b:FiletypeIcon = ' ' 717 │ 718 │ elseif &filetype == 'go' 719 │ let b:FiletypeIcon = ' ' 720 │ 721 │ elseif &filetype == 'lua' 722 │ let b:FiletypeIcon = ' ' 723 │ 724 │ elseif &filetype == 'haskel' 725 │ let b:FiletypeIcon = ' ' 726 │ 727 │ else 728 │ let b:FiletypeIcon = '🖊 ' 729 │ 730 │ endif 731 │ endfunction 732 │ 733 │ 734 │ 735 │ " Get git branch name after entering a buffer 736 │ augroup GetGitBranch 737 │ autocmd! 738 │ autocmd BufEnter * call GetGitBranch() 739 │ augroup END 740 │ 741 │ 742 │ " Set active / inactive statusline after entering, leaving buffer 743 │ augroup SetStslineline 744 │ autocmd! 745 │ autocmd BufEnter,WinEnter * call ActivateStatusline() 746 │ autocmd BufLeave,WinLeave * call DeactivateStatusline() 747 │ augroup END 748 │ 749 │ " vim: nospell ───────┴────────────────────────────────────────────────────────────────────────