Compare commits

..

30 Commits

Author SHA1 Message Date
d30553d2d2 Added words to custom dictionary 2025-06-09 14:35:48 -04:00
271aa3182b Removed autowrite section
I suspect it created a ton of sync-conflicts in my notes. Auto saving
isn't worth it if that's the result.
2025-05-28 12:31:33 -04:00
6a9ca5c23d Added vim-setcolor script
Must be sourced. Colorscheme browser. Use F8/Shift-F8 to browse
colorschemes.
2025-05-19 18:18:37 -04:00
0edac00442 Testing autowrite,autoread for md files
Will autosave Markdown files on exit. Should also read changes made
outside of Vim. Purpose: to minimize file conflicts in Syncthing.
2025-05-17 20:09:09 -04:00
cc9e42b469 Added more words to dictionary +abbreviations
Added some commonly misspelled words to my .vimrc abbreviations
2025-05-14 11:49:13 -04:00
1274eb0597 Removed filename from readinglist template 2025-05-12 21:50:47 -04:00
18ae6546e6 ExtractWikiLinks
Added a separate function to extract wiki links
It must be sourced on-demand, since it's not tested
2025-05-10 19:31:56 -04:00
7f94c04724 Removed extraneous comments, improved keybindings
Finally removed all the commented out lines that I was saving in case I
needed to roll them back. Switched some keybindings to keys that made
more sense.
2025-05-08 20:34:37 -04:00
9bc08347a8 Added vim-signify
and configured to show Git info in gutter. Updated config to show more
git info in statusline
2025-05-08 16:58:35 -04:00
b7ca4be5cf .vimrc with the custom colors mostly removed
relying on the colorscheme
2025-05-08 08:48:23 -04:00
fdc6ea1ef3 FZF wiki links
Added functions to use FZF to insert file links into current buffer.
- `<ctrl>-p` for wiki link
- `<ctrl>-l` for file name
2025-04-29 18:00:56 -04:00
08bf9e7354 Added if/then to ignore directive incompatible with nvim
Aiming to keep .vimrc compatible with nvim for testing.
2025-04-28 14:27:13 -04:00
81ac79f7b4 Fixed buffer navigation keybind.
<crtl>-<left> and <crtl>-<right> to navigate open buffers.
2025-04-28 09:45:08 -04:00
97bd1e0365 Added CHANGELOG.md
Created a function that will generate a CHANGELOG from my previous 25
commits, so I don't have to keep updating the README.md file
2025-04-24 19:34:29 -04:00
9dbe4a87c0 Disable folding for yaml
Disable fold for yaml files
2025-04-24 19:05:01 -04:00
b052f7fa32 Added line number toggle and colorscheme customization
- <leader>n to toggle line numbers
- source ~/.vimcustom (if exists) for custom colorscheme
- disable airline theme (let it inherit from colorscheme
-
2025-04-23 11:26:36 -04:00
fe39e86bb5 added words to dictionary 2025-04-20 12:57:00 -04:00
aaf5d31567 Reworked Spell Check Section
Removed the global nospell autocommands:
  The lines `autocmd BufRead,BufNewFile * setlocal nospell` and
  `autocmd BufRead,BufNewFile *.* setlocal nospell` have been removed.
  These were turning off spell checking for all files.
2025-04-15 13:05:56 -04:00
d2821c7df6 .vimrc changes
- Theme: darkburn
- ASCII foldchars
- Changed keybinding for notes to `<leader>nn`
-
2025-04-14 15:01:21 -04:00
750376d311 Added no line break to wrap toggle 2025-04-14 12:56:37 -04:00
chawley (tfadmin)
0793816ad0 Updated README 2025-04-14 15:33:40 +00:00
chawley (tfadmin)
063e68f7de Added marks list
Keybinding (`<leader>m`) to open mark list
2025-04-14 15:29:52 +00:00
c63cb6ae86 Added keybinding for datestamp
Added additional keybinding to mimic datestamp entry from VS Code (<crtl><shift>-i)
2025-04-14 09:49:54 -04:00
a2c808e92d Added words to custom dictionary 2025-04-14 09:48:32 -04:00
41a036f3ec Updated README 2025-04-14 09:17:33 -04:00
48dd07630c Upgraded vim-plug plugin
via :PlugUpgrade
2025-04-14 09:07:06 -04:00
b2bacfae4f .vimrc and rm old templates
Removed unused templates, added word-wrap to .vimrc
2025-04-14 09:01:36 -04:00
chawley (tfadmin)
6db5468bfe Updated vim-plug plugin 2024-10-28 16:16:28 +00:00
6372ff4c5d text width = 135
Increased text width to 135 by default.
2024-05-21 19:07:16 -04:00
89fdfb9fec Changed keybinding for FZF paste
Press <ctrl>-p to paste the filename of the file selected by FZF
2024-05-09 07:34:12 -04:00
11 changed files with 3408 additions and 194 deletions

30
.vim/ExtractWikiLinks.vim Normal file
View File

@@ -0,0 +1,30 @@
function! ExtractWikiLinks()
let links = []
let pattern = '\v\[\[([^\]]+)\]\]'
let linenr = 1
while linenr <= line('$')
let line = getline(linenr)
let match = match(line, pattern)
while match != -1
let link_start = match + 2 " Start after '[['
let link_end = matchend(line, pattern) - 2 " End before ']]'
if link_end > link_start
let link = strpart(line, link_start, link_end - link_start)
call add(links, link)
endif
let match = match(line, pattern, matchend(line, pattern)) " Find next match
endwhile
let linenr = linenr + 1
endwhile
" Open a new buffer with the extracted links
new
" Make the buffer modifiable temporarily
set modifiable
call setline(1, links)
" Set the buffer options after writing
set nomodifiable buftype=nofile bufhidden=wipe nobuflisted noswapfile
echo "Extracted " . len(links) . " wiki links."
endfunction
command! ExtractLinks call ExtractWikiLinks()

View File

@@ -1,67 +1,36 @@
" vim-plug: Vim plugin manager " vim-plug: Vim plugin manager
" ============================ " ============================
" "
" Download plug.vim and put it in ~/.vim/autoload " 1. Download plug.vim and put it in 'autoload' directory
" "
" # Vim
" curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ " curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim " https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
" "
" Edit your .vimrc " # Neovim
" sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
" https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
" "
" call plug#begin('~/.vim/plugged') " 2. Add a vim-plug section to your ~/.vimrc (or ~/.config/nvim/init.vim for Neovim)
" "
" " Make sure you use single quotes " call plug#begin()
" "
" " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align " " List your plugins here
" Plug 'junegunn/vim-easy-align' " Plug 'tpope/vim-sensible'
" "
" " Any valid git URL is allowed
" Plug 'https://github.com/junegunn/vim-github-dashboard.git'
"
" " Multiple Plug commands can be written in a single line using | separators
" Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
"
" " On-demand loading
" Plug 'preservim/nerdtree', { 'on': 'NERDTreeToggle' }
" Plug 'tpope/vim-fireplace', { 'for': 'clojure' }
"
" " Using a non-default branch
" Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
"
" " Using a tagged release; wildcard allowed (requires git 1.9.2 or above)
" Plug 'fatih/vim-go', { 'tag': '*' }
"
" " Plugin options
" Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' }
"
" " Plugin outside ~/.vim/plugged with post-update hook
" Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' }
"
" " Unmanaged plugin (manually installed and updated)
" Plug '~/my-prototype-plugin'
"
" " Initialize plugin system
" call plug#end() " call plug#end()
" "
" Then reload .vimrc and :PlugInstall to install plugins. " 3. Reload the file or restart Vim, then you can,
" "
" Plug options: " :PlugInstall to install plugins
" :PlugUpdate to update plugins
" :PlugDiff to review the changes from the last update
" :PlugClean to remove plugins no longer in the list
" "
"| Option | Description | " For more information, see https://github.com/junegunn/vim-plug
"| ----------------------- | ------------------------------------------------ |
"| `branch`/`tag`/`commit` | Branch/tag/commit of the repository to use |
"| `rtp` | Subdirectory that contains Vim plugin |
"| `dir` | Custom directory for the plugin |
"| `as` | Use different name for the plugin |
"| `do` | Post-update hook (string or funcref) |
"| `on` | On-demand loading: Commands or `<Plug>`-mappings |
"| `for` | On-demand loading: File types |
"| `frozen` | Do not update unless explicitly specified |
"
" More information: https://github.com/junegunn/vim-plug
" "
" "
" Copyright (c) 2017 Junegunn Choi " Copyright (c) 2024 Junegunn Choi
" "
" MIT License " MIT License
" "
@@ -238,7 +207,6 @@ endfunction
function! plug#begin(...) function! plug#begin(...)
if a:0 > 0 if a:0 > 0
let s:plug_home_org = a:1
let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p')) let home = s:path(s:plug_fnamemodify(s:plug_expand(a:1), ':p'))
elseif exists('g:plug_home') elseif exists('g:plug_home')
let home = s:path(g:plug_home) let home = s:path(g:plug_home)
@@ -404,8 +372,10 @@ function! plug#end()
for [cmd, names] in items(lod.cmd) for [cmd, names] in items(lod.cmd)
execute printf( execute printf(
\ 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)', \ has('patch-7.4.1898')
\ cmd, string(cmd), string(names)) \ ? 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, <q-mods> ,%s)'
\ : 'command! -nargs=* -range -bang -complete=file %s call s:lod_cmd(%s, "<bang>", <line1>, <line2>, <q-args>, %s)'
\ , cmd, string(cmd), string(names))
endfor endfor
for [map, names] in items(lod.map) for [map, names] in items(lod.map)
@@ -683,11 +653,19 @@ function! s:lod_ft(pat, names)
call s:doautocmd('filetypeindent', 'FileType') call s:doautocmd('filetypeindent', 'FileType')
endfunction endfunction
function! s:lod_cmd(cmd, bang, l1, l2, args, names) if has('patch-7.4.1898')
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) function! s:lod_cmd(cmd, bang, l1, l2, args, mods, names)
call s:dobufread(a:names) call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args) call s:dobufread(a:names)
endfunction execute printf('%s %s%s%s %s', a:mods, (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
endfunction
else
function! s:lod_cmd(cmd, bang, l1, l2, args, names)
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
call s:dobufread(a:names)
execute printf('%s%s%s %s', (a:l1 == a:l2 ? '' : (a:l1.','.a:l2)), a:cmd, a:bang, a:args)
endfunction
endif
function! s:lod_map(map, names, with_prefix, prefix) function! s:lod_map(map, names, with_prefix, prefix)
call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin']) call s:lod(a:names, ['ftdetect', 'after/ftdetect', 'plugin', 'after/plugin'])
@@ -815,10 +793,11 @@ endfunction
function! s:syntax() function! s:syntax()
syntax clear syntax clear
syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber syntax region plug1 start=/\%1l/ end=/\%2l/ contains=plugNumber
syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX syntax region plug2 start=/\%2l/ end=/\%3l/ contains=plugBracket,plugX,plugAbort
syn match plugNumber /[0-9]\+[0-9.]*/ contained syn match plugNumber /[0-9]\+[0-9.]*/ contained
syn match plugBracket /[[\]]/ contained syn match plugBracket /[[\]]/ contained
syn match plugX /x/ contained syn match plugX /x/ contained
syn match plugAbort /\~/ contained
syn match plugDash /^-\{1}\ / syn match plugDash /^-\{1}\ /
syn match plugPlus /^+/ syn match plugPlus /^+/
syn match plugStar /^*/ syn match plugStar /^*/
@@ -843,6 +822,7 @@ function! s:syntax()
hi def link plug2 Repeat hi def link plug2 Repeat
hi def link plugH2 Type hi def link plugH2 Type
hi def link plugX Exception hi def link plugX Exception
hi def link plugAbort Ignore
hi def link plugBracket Structure hi def link plugBracket Structure
hi def link plugNumber Number hi def link plugNumber Number
@@ -940,7 +920,7 @@ function! s:prepare(...)
endif endif
endfor endfor
call s:job_abort() call s:job_abort(0)
if s:switch_in() if s:switch_in()
if b:plug_preview == 1 if b:plug_preview == 1
pc pc
@@ -976,6 +956,8 @@ function! s:close_pane()
if b:plug_preview == 1 if b:plug_preview == 1
pc pc
let b:plug_preview = -1 let b:plug_preview = -1
elseif exists('s:jobs') && !empty(s:jobs)
call s:job_abort(1)
else else
bd bd
endif endif
@@ -1103,12 +1085,16 @@ function! s:hash_match(a, b)
return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0 return stridx(a:a, a:b) == 0 || stridx(a:b, a:a) == 0
endfunction endfunction
function! s:disable_credential_helper()
return s:git_version_requirement(2) && get(g:, 'plug_disable_credential_helper', 1)
endfunction
function! s:checkout(spec) function! s:checkout(spec)
let sha = a:spec.commit let sha = a:spec.commit
let output = s:git_revision(a:spec.dir) let output = s:git_revision(a:spec.dir)
let error = 0 let error = 0
if !empty(output) && !s:hash_match(sha, s:lines(output)[0]) if !empty(output) && !s:hash_match(sha, s:lines(output)[0])
let credential_helper = s:git_version_requirement(2) ? '-c credential.helper= ' : '' let credential_helper = s:disable_credential_helper() ? '-c credential.helper= ' : ''
let output = s:system( let output = s:system(
\ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir) \ 'git '.credential_helper.'fetch --depth 999999 && git checkout '.plug#shellescape(sha).' --', a:spec.dir)
let error = v:shell_error let error = v:shell_error
@@ -1358,7 +1344,12 @@ function! s:update_finish()
endif endif
endfunction endfunction
function! s:job_abort() function! s:mark_aborted(name, message)
let attrs = { 'running': 0, 'error': 1, 'abort': 1, 'lines': [a:message] }
let s:jobs[a:name] = extend(get(s:jobs, a:name, {}), attrs)
endfunction
function! s:job_abort(cancel)
if (!s:nvim && !s:vim8) || !exists('s:jobs') if (!s:nvim && !s:vim8) || !exists('s:jobs')
return return
endif endif
@@ -1372,8 +1363,18 @@ function! s:job_abort()
if j.new if j.new
call s:rm_rf(g:plugs[name].dir) call s:rm_rf(g:plugs[name].dir)
endif endif
if a:cancel
call s:mark_aborted(name, 'Aborted')
endif
endfor endfor
let s:jobs = {}
if a:cancel
for todo in values(s:update.todo)
let todo.abort = 1
endfor
else
let s:jobs = {}
endif
endfunction endfunction
function! s:last_non_empty_line(lines) function! s:last_non_empty_line(lines)
@@ -1387,6 +1388,16 @@ function! s:last_non_empty_line(lines)
return '' return ''
endfunction endfunction
function! s:bullet_for(job, ...)
if a:job.running
return a:job.new ? '+' : '*'
endif
if get(a:job, 'abort', 0)
return '~'
endif
return a:job.error ? 'x' : get(a:000, 0, '-')
endfunction
function! s:job_out_cb(self, data) abort function! s:job_out_cb(self, data) abort
let self = a:self let self = a:self
let data = remove(self.lines, -1) . a:data let data = remove(self.lines, -1) . a:data
@@ -1395,10 +1406,9 @@ function! s:job_out_cb(self, data) abort
" To reduce the number of buffer updates " To reduce the number of buffer updates
let self.tick = get(self, 'tick', -1) + 1 let self.tick = get(self, 'tick', -1) + 1
if !self.running || self.tick % len(s:jobs) == 0 if !self.running || self.tick % len(s:jobs) == 0
let bullet = self.running ? (self.new ? '+' : '*') : (self.error ? 'x' : '-')
let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines) let result = self.error ? join(self.lines, "\n") : s:last_non_empty_line(self.lines)
if len(result) if len(result)
call s:log(bullet, self.name, result) call s:log(s:bullet_for(self), self.name, result)
endif endif
endif endif
endfunction endfunction
@@ -1412,7 +1422,7 @@ endfunction
function! s:job_cb(fn, job, ch, data) function! s:job_cb(fn, job, ch, data)
if !s:plug_window_exists() " plug window closed if !s:plug_window_exists() " plug window closed
return s:job_abort() return s:job_abort(0)
endif endif
call call(a:fn, [a:job, a:data]) call call(a:fn, [a:job, a:data])
endfunction endfunction
@@ -1484,17 +1494,16 @@ function! s:reap(name)
endif endif
let more = len(get(job, 'queue', [])) let more = len(get(job, 'queue', []))
let bullet = job.error ? 'x' : more ? (job.new ? '+' : '*') : '-'
let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines) let result = job.error ? join(job.lines, "\n") : s:last_non_empty_line(job.lines)
if len(result) if len(result)
call s:log(bullet, a:name, result) call s:log(s:bullet_for(job), a:name, result)
endif endif
if !job.error && more if !job.error && more
let job.spec.queue = job.queue let job.spec.queue = job.queue
let s:update.todo[a:name] = job.spec let s:update.todo[a:name] = job.spec
else else
let s:update.bar .= job.error ? 'x' : '=' let s:update.bar .= s:bullet_for(job, '=')
call s:bar() call s:bar()
endif endif
endfunction endfunction
@@ -1573,6 +1582,12 @@ while 1 " Without TCO, Vim stack is bound to explode
let name = keys(s:update.todo)[0] let name = keys(s:update.todo)[0]
let spec = remove(s:update.todo, name) let spec = remove(s:update.todo, name)
if get(spec, 'abort', 0)
call s:mark_aborted(name, 'Skipped')
call s:reap(name)
continue
endif
let queue = get(spec, 'queue', []) let queue = get(spec, 'queue', [])
let new = empty(globpath(spec.dir, '.git', 1)) let new = empty(globpath(spec.dir, '.git', 1))
@@ -1588,7 +1603,7 @@ while 1 " Without TCO, Vim stack is bound to explode
let [error, _] = s:git_validate(spec, 0) let [error, _] = s:git_validate(spec, 0)
if empty(error) if empty(error)
if pull if pull
let cmd = s:git_version_requirement(2) ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch'] let cmd = s:disable_credential_helper() ? ['git', '-c', 'credential.helper=', 'fetch'] : ['git', 'fetch']
if has_tag && !empty(globpath(spec.dir, '.git/shallow')) if has_tag && !empty(globpath(spec.dir, '.git/shallow'))
call extend(cmd, ['--depth', '99999999']) call extend(cmd, ['--depth', '99999999'])
endif endif
@@ -2313,7 +2328,10 @@ endfunction
function! s:with_cd(cmd, dir, ...) function! s:with_cd(cmd, dir, ...)
let script = a:0 > 0 ? a:1 : 1 let script = a:0 > 0 ? a:1 : 1
return printf('cd%s %s && %s', s:is_win ? ' /d' : '', plug#shellescape(a:dir, {'script': script}), a:cmd) let pwsh = s:is_powershell(&shell)
let cd = s:is_win && !pwsh ? 'cd /d' : 'cd'
let sep = pwsh ? ';' : '&&'
return printf('%s %s %s %s', cd, plug#shellescape(a:dir, {'script': script, 'shell': &shell}), sep, a:cmd)
endfunction endfunction
function! s:system(cmd, ...) function! s:system(cmd, ...)
@@ -2436,7 +2454,7 @@ function! s:clean(force)
let errs = {} let errs = {}
let [cnt, total] = [0, len(g:plugs)] let [cnt, total] = [0, len(g:plugs)]
for [name, spec] in items(g:plugs) for [name, spec] in items(g:plugs)
if !s:is_managed(name) if !s:is_managed(name) || get(spec, 'frozen', 0)
call add(dirs, spec.dir) call add(dirs, spec.dir)
else else
let [err, clean] = s:git_validate(spec, 1) let [err, clean] = s:git_validate(spec, 1)

2863
.vim/autoload/plug.vim.old Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -59,3 +59,31 @@ Astaroth
Strongbad Strongbad
CPAP CPAP
Chromebooks Chromebooks
Lomaira
Proxmox
MySQL
chawley
phansible
Abaddon
ChromeOS
TeachingBooks
NeuroSquad
Wormdingler
jinja
TODO
Neovim
Zettelkasten
Harpocrates
Weechat
Lorain
Meadowbrook
NotebookLLM
Satola
DeSha
Redis
hostname
Shawshank
Delly
tmux
freecycle
ReadEra

View File

@@ -1,8 +0,0 @@
:insert
---
layout: post
title:
date:
categories:
---

View File

@@ -1,9 +0,0 @@
:insert
* *Title*:
* *Author*:
* *Started*:
* *Finished*:
* [Goodreads Link]()
# Highlights / Notes

View File

@@ -1,6 +1,5 @@
:insert :insert
--- ---
filename:
filecreated: filecreated:
fileupdated: fileupdated:
filetags: [readinglist] filetags: [readinglist]
@@ -12,7 +11,6 @@ bookfinished:
# booktitle # booktitle
[Goodreads Link]() ## Highlights / Notes
# Highlights / Notes

120
.vim/vim-setcolors.vim Normal file
View File

@@ -0,0 +1,120 @@
" Change the color scheme from a list of color scheme names.
" Version 2010-09-12 from http://vim.wikia.com/wiki/VimTip341
" Press key:
" F8 next scheme
" Shift-F8 previous scheme
" Alt-F8 random scheme
" Set the list of color schemes used by the above (default is 'all'):
" :SetColors all (all $VIMRUNTIME/colors/*.vim)
" :SetColors my (names built into script)
" :SetColors blue slate ron (these schemes)
" :SetColors (display current scheme names)
" Set the current color scheme based on time of day:
" :SetColors now
if v:version < 700 || exists('loaded_setcolors') || &cp
finish
endif
let loaded_setcolors = 1
let s:mycolors = ['slate', 'torte', 'darkblue', 'delek', 'murphy', 'elflord', 'pablo', 'koehler'] " colorscheme names that we use to set color
" Set list of color scheme names that we will use, except
" argument 'now' actually changes the current color scheme.
function! s:SetColors(args)
if len(a:args) == 0
echo 'Current color scheme names:'
let i = 0
while i < len(s:mycolors)
echo ' '.join(map(s:mycolors[i : i+4], 'printf("%-14s", v:val)'))
let i += 5
endwhile
elseif a:args == 'all'
let paths = split(globpath(&runtimepath, 'colors/*.vim'), "\n")
let s:mycolors = uniq(sort(map(paths, 'fnamemodify(v:val, ":t:r")')))
echo 'List of colors set from all installed color schemes'
elseif a:args == 'my'
let c1 = 'default elflord peachpuff desert256 breeze morning'
let c2 = 'darkblue gothic aqua earth black_angus relaxedgreen'
let c3 = 'darkblack freya motus impact less chocolateliquor'
let s:mycolors = split(c1.' '.c2.' '.c3)
echo 'List of colors set from built-in names'
elseif a:args == 'now'
call s:HourColor()
else
let s:mycolors = split(a:args)
echo 'List of colors set from argument (space-separated names)'
endif
endfunction
command! -nargs=* SetColors call s:SetColors('<args>')
" Set next/previous/random (how = 1/-1/0) color from our list of colors.
" The 'random' index is actually set from the current time in seconds.
" Global (no 's:') so can easily call from command line.
function! NextColor(how)
call s:NextColor(a:how, 1)
endfunction
" Helper function for NextColor(), allows echoing of the color name to be
" disabled.
function! s:NextColor(how, echo_color)
if len(s:mycolors) == 0
call s:SetColors('all')
endif
if exists('g:colors_name')
let current = index(s:mycolors, g:colors_name)
else
let current = -1
endif
let missing = []
let how = a:how
for i in range(len(s:mycolors))
if how == 0
let current = localtime() % len(s:mycolors)
let how = 1 " in case random color does not exist
else
let current += how
if !(0 <= current && current < len(s:mycolors))
let current = (how>0 ? 0 : len(s:mycolors)-1)
endif
endif
try
execute 'colorscheme '.s:mycolors[current]
break
catch /E185:/
call add(missing, s:mycolors[current])
endtry
endfor
redraw
if len(missing) > 0
echo 'Error: colorscheme not found:' join(missing)
endif
if (a:echo_color)
echo g:colors_name
endif
endfunction
nnoremap <F8> :call NextColor(1)<CR>
nnoremap <S-F8> :call NextColor(-1)<CR>
nnoremap <A-F8> :call NextColor(0)<CR>
" Set color scheme according to current time of day.
function! s:HourColor()
let hr = str2nr(strftime('%H'))
if hr <= 3
let i = 0
elseif hr <= 7
let i = 1
elseif hr <= 14
let i = 2
elseif hr <= 18
let i = 3
else
let i = 4
endif
let nowcolors = 'elflord morning desert evening pablo'
execute 'colorscheme '.split(nowcolors)[i]
redraw
echo g:colors_name
endfunction

207
.vimrc
View File

@@ -13,7 +13,7 @@ set autoread " set to auto read when a f
set belloff=all " no sound/flash on errors set belloff=all " no sound/flash on errors
set cursorcolumn " highlight current column set cursorcolumn " highlight current column
set cursorline " highlight current row set cursorline " highlight current row
set formatoptions-=ro " Turn off autoinsert of comment char on newline set formatoptions-=rot " Turn off autoinsert of comment char on newline
set hidden " Allow background buffers without saving set hidden " Allow background buffers without saving
set nolist " do not show invisible characters set nolist " do not show invisible characters
set nocompatible " be iMproved, required set nocompatible " be iMproved, required
@@ -24,11 +24,13 @@ set ruler " show cursor poition
set scrolloff=10 " number of lines to keep above and below the cursor set scrolloff=10 " number of lines to keep above and below the cursor
set showmatch " show matching brackets when text indicator is over them set showmatch " show matching brackets when text indicator is over them
set splitright " Split to right by default set splitright " Split to right by default
set term=xterm-256color " LOTS of colors if !has('nvim')
set term=xterm-256color " LOTS of colors
endif
set wildmenu " enhanced command line completion set wildmenu " enhanced command line completion
set fillchars=vert:\|,fold:.,diff:-
" Text Wrapping " Text Wrapping
set textwidth=120 " Set textwidth
set colorcolumn= " disable colorzing <textwidth> column set colorcolumn= " disable colorzing <textwidth> column
set nowrap " turn off word wrapping at <textwidth> set nowrap " turn off word wrapping at <textwidth>
@@ -46,7 +48,6 @@ set shiftwidth=4
set expandtab set expandtab
autocmd! bufwritepost .vimrc source ~/.vimrc " When vimrc is edited, reload it autocmd! bufwritepost .vimrc source ~/.vimrc " When vimrc is edited, reload it
" Turn line numbers on/off for active/inactive buffers " Turn line numbers on/off for active/inactive buffers
augroup BgHighlight augroup BgHighlight
autocmd! autocmd!
@@ -68,7 +69,7 @@ set omnifunc=syntaxcomplete#Complete
" Personal Notes settings " Personal Notes settings
" export NOTES_DIR=<your notes directory> before use " export NOTES_DIR=<your notes directory> before use
" Go to index of notes and set working directory " Go to index of notes and set working directory
nnoremap <leader>ww :e $NOTES_DIR/Index.md<CR>:cd $NOTES_DIR<CR> nnoremap <leader>nn :e $NOTES_DIR/index.md<CR>:cd $NOTES_DIR<CR>
" <leader>[ to grep inside Notes files " <leader>[ to grep inside Notes files
" I got the idea from here [step 6: search contents of your notes](https://www.edwinwenink.xyz/posts/42-vim_notetaking/#step-6-search-contents-of-your-notes) " I got the idea from here [step 6: search contents of your notes](https://www.edwinwenink.xyz/posts/42-vim_notetaking/#step-6-search-contents-of-your-notes)
@@ -131,6 +132,10 @@ Plug 'bullets-vim/bullets.vim'
Plug 'vim-airline/vim-airline' Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes' Plug 'vim-airline/vim-airline-themes'
" vim-signify
" https://github.com/mhinz/vim-signify
Plug 'mhinz/vim-signify'
call plug#end() call plug#end()
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
@@ -164,61 +169,89 @@ let g:bullets_enabled_file_types = [ 'markdown', 'gitcommit' ]
let g:bullets_outline_levels = ['num', 'abc', 'std*', 'std+', 'std-'] let g:bullets_outline_levels = ['num', 'abc', 'std*', 'std+', 'std-']
"vim-airline "vim-airline
let g:airline#extensions#tabline#enabled = 1 let g:airline_extensions = ['hunks', 'branch', 'tabline']
let g:airline_theme = 'angr' let g:airline_detect_theme_from_guicolors = 1
let g:airline_powerline_fonts = 1
" ---------------------------------------------------------------------------------------------------------------------
" ==> FZF Helper Functions
"
" Configure FZF default key bindings (actions) within the FZF window
" 'ctrl-x': Open in horizontal split
" 'ctrl-v': Open in vertical split
" 'ctrl-t': Open in new tab (optional, common)
" 'ctrl-p': Paste raw filename(s) at cursor
" 'ctrl-l': Paste formatted [[wiki link]] at cursor
" NOTE: Define these functions BEFORE they are used in g:fzf_action below.
" Function to paste FZF selection(s) at the current cursor position
function! PasteFzfSelection(lines)
if type(a:lines) != type([]) || empty(a:lines)
echoerr "FZF Paste Error: No selection passed to function PasteFzfSelection."
return
endif
" Join multiple selections with a space
let text_to_paste = join(a:lines, ' ')
" Insert the text
call feedkeys('i' . text_to_paste . "\<esc>", 'ni')
endfunction
" Function to paste FZF selection as a formatted wiki link
function! PasteFzfWikiLink(lines)
if type(a:lines) != type([]) || empty(a:lines)
echoerr "FZF Paste Error: No selection passed to function PasteFzfWikiLink."
return
endif
" Typically you only link one file at a time
let filename = a:lines[0]
" --- CHOOSE YOUR LINK FORMAT ---
" Option 1: Wiki format [[filename_without_extension]]
"let filename_base = fnamemodify(filename, ':r') " Removes the extension
"let link_text = '[[' . filename_base . ']]'
" Option 2: Wiki format [[filename_with_extension]]
let link_text = '[[' . filename . ']]'
" Option 3: Markdown format [filename](filename)
" let link_text = '[' . filename . '](' . filename . ')'
" --- End Formatting Options ---
" Insert the formatted link
call feedkeys('i' . link_text . "\<esc>", 'ni')
endfunction
" FZF Actions
" <c-x> to open FZF result in a split
" <c-v> to open FZF result in a vsplit
" <c-o> to copy FZF result as text into current buffer
let g:fzf_action = { let g:fzf_action = {
\ 'ctrl-x': 'split', \ 'ctrl-x': 'split',
\ 'ctrl-v': 'vsplit', \ 'ctrl-v': 'vsplit',
\ 'ctrl-o': ':r !echo'} \ 'ctrl-t': 'tab split',
\ 'ctrl-p': function('PasteFzfSelection'),
" --------------------------------------------------------------------------------------------------------------------- \ 'ctrl-l': function('PasteFzfWikiLink')
" ==> Colors \ }
" Term GUI Colors
" Testing different colorschemes
" Only the last uncommented colorscheme will be used
" This is typically a history of the schemes I've used
"colorscheme slate
"colorscheme marklar
"colorscheme automation
"colorscheme advantage
"colorscheme industry
"colorscheme industrial
colorscheme jelleybeans
" cursorcolumn
hi cursorcolumn cterm=NONE ctermbg=black ctermfg=white
" visual mode colors
hi visual cterm=NONE ctermbg=lightyellow ctermfg=black
set fillchars=vert:│,fold:┈,diff:┈
" In split windows - active buffer status bar is green, inactive is yellow
hi StatusLine ctermfg=white ctermbg=darkgreen cterm=bold
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=none
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" => Keymaps: Highlights " => Keymaps: Highlights
" <leader><space> to turn off search highlight " <F6> to toggle search highlight
nnoremap <leader><space> :nohls <enter> nnoremap <F6> :nohls <enter>
" <leader>C to toggle row/column highlight " <F7> to toggle row/column highlight
nnoremap <leader>C :set cursorline! cursorcolumn!<CR> nnoremap <F7> :set cursorline! cursorcolumn!<CR>
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> Keymaps: Buffers & Panes " ==> Keymaps: Buffers & Panes
" <ctrl>-arrow left/right to navigate BUFFERS " <ctrl>-arrow left/right to navigate BUFFERS
map <esc>[1;5D :bp <enter> map <esc>[1;5D :bp <enter>
map <esc>[1;5C :bp <enter> map <esc>[1;5C :bn <enter>
" <leader>b to open FZF buffers " <leader>b to open FZF buffers
map <leader>b :Buffers<CR> map <leader>b :Buffers<CR>
" <leader>m to open file marks
map <leader>m :Marks<CR>
" <leader>a to abandon buffer " <leader>a to abandon buffer
nnoremap <leader>a :bd! <enter> nnoremap <leader>a :bd! <enter>
@@ -228,9 +261,6 @@ nnoremap <leader>c :bd <enter>
" <c-s> to save buffer " <c-s> to save buffer
nnoremap <c-s> :w<CR> nnoremap <c-s> :w<CR>
" <c-x> to bring up the copy buffer
noremap <c-x> "+
" <alt>-arrow keys to navigate panes " <alt>-arrow keys to navigate panes
" UP " UP
map <esc>[1;3A <c-w><c-k> map <esc>[1;3A <c-w><c-k>
@@ -248,12 +278,20 @@ map <esc>x <c-w>q
" <leader><leader> to open FZF files " <leader><leader> to open FZF files
map <leader><leader> :Files<CR> map <leader><leader> :Files<CR>
" <leader>g to open FZF Git files " <leader>g to open FZF Git files
map <leader>g :GFiles<CR> map <leader>g :GFiles<CR>
" Map <leader>f to open FZF with word under cursor pre-populated " Map <leader>f to open FZF with word under cursor pre-populated
" https://github.com/junegunn/fzf.vim/issues/1235#issuecomment-773726008 " https://github.com/junegunn/fzf.vim/issues/1235#issuecomment-773726008
nnoremap <leader>f :call fzf#run(fzf#vim#with_preview(fzf#wrap({'source': 'find . \( -name .git -o -name .stversions \) -prune -o -print -iname "*'.expand("<cword>").'*"', 'sink': 'e', 'options': '--query="'.expand("<cword>").'"'})))<CR> nnoremap <leader>f :call fzf#run(fzf#vim#with_preview(fzf#wrap({'source': 'find . \( -name .git -o -name .stversions \) -prune -o -print -iname "*'.expand("<cword>").'*"', 'sink': 'e', 'options': '--query="'.expand("<cword>").'"'})))<CR>
" Toggles line wrapping with linebreak enabled when wrapping is turned on with <leader>w
nnoremap <leader>w :execute "if &wrap\n set nowrap\nelse\n set wrap linebreak\nendif"<CR>
" Toggle line numbers
nnoremap <leader>n :set number! relativenumber! <CR>
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> Keymaps: Text bubbling (http://vimcasts.org/episodes/bubbling-text/) " ==> Keymaps: Text bubbling (http://vimcasts.org/episodes/bubbling-text/)
@@ -275,59 +313,60 @@ nnoremap k gk
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> Keymaps: Date and Time stamps " ==> Keymaps: Date and Time stamps
" Send date and time
imap <F2> <C-R>=strftime("%Y-%m-%d %H:%M:%S")<CR> imap <F2> <C-R>=strftime("%Y-%m-%d %H:%M:%S")<CR>
" Send date and DOW
imap <F3> <C-R>=strftime("%Y-%m-%d %a")<CR> imap <F3> <C-R>=strftime("%Y-%m-%d %a")<CR>
" alternate keybinding I use in VS Code
imap <C-S-i> <C-R>=strftime("%Y-%m-%d %a")<CR>
" Sends date
imap <F4> <C-R>=strftime("%Y-%m-%d")<CR> imap <F4> <C-R>=strftime("%Y-%m-%d")<CR>
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> Spellcheck " ==> Spellcheck
" auto-complete spelling suggestions with <ctrl-p> " auto-complete spelling suggestions with <ctrl-p>
set complete+=kspell set complete+=kspell
autocmd FileType markdown setlocal complete+=kspell autocmd FileType markdown setlocal complete+=kspell
autocmd FileType text setlocal complete+=kspell autocmd FileType text setlocal complete+=kspell
autocmd FileType gitcommit setlocal complete+=kspell autocmd FileType gitcommit setlocal complete+=kspell
" Toggle spell check highlights with <F10> " Toggle spell check highlights with <F10>
nnoremap <F10> :setlocal spell! spelllang=en_us<CR> nnoremap <F10> :setlocal spell! spelllang=en_us<CR>
" ==> Spellcheck: only certain file types " ==> Spellcheck: only certain file types
" https://robots.thoughtbot.com/vim-spell-checking " https://robots.thoughtbot.com/vim-spell-checking
" turn off for files with no extension " turn on for markdown files
autocmd BufRead,BufNewFile * setlocal nospell
" turn off for files with any extension
autocmd BufRead,BufNewFile *.* setlocal nospell
" turn on for markdown files
autocmd BufRead,BufNewFile *.md setlocal spell autocmd BufRead,BufNewFile *.md setlocal spell
" turn on for text files " turn on for text files
autocmd BufRead,BufNewFile *.txt setlocal spell autocmd BufRead,BufNewFile *.txt setlocal spell
" turn on for git commits
autocmd FileType gitcommit setlocal spell spelllang=en_us
" ==> Spellcheck Colors " ==> Spellcheck Colors
" "
" I hate spellcheck's default colors " I hate spellcheck's default colors
" (http://stackoverflow.com/questions/6008921/how-do-i-change-the-highlight-style-in-vim-spellcheck) " (http://stackoverflow.com/questions/6008921/how-do-i-change-the-highlight-style-in-vim-spellcheck)
" Vim Colors: (http://alvinalexander.com/linux/vi-vim-editor-color-scheme-syntax) " Vim Colors: (http://alvinalexander.com/linux/vi-vim-editor-color-scheme-syntax)
hi clear SpellBad hi clear SpellBad
hi clear SpellCap hi clear SpellCap
hi clear SpellLocal hi clear SpellLocal
hi clear SpellRare hi clear SpellRare
hi SpellCap cterm=underline ctermbg=none ctermfg=magenta hi SpellCap cterm=underline ctermbg=none
hi SpellBad cterm=underline ctermbg=none ctermfg=red hi SpellBad cterm=underline ctermbg=none
hi SpellLocal cterm=underline ctermbg=none ctermfg=gray hi SpellLocal cterm=underline ctermbg=none
hi SpellRare cterm=underline ctermbg=none ctermfg=gray hi SpellRare cterm=underline ctermbg=none
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> Templates: markdown documents with frontmatter (.md) " ==> Templates: markdown documents with frontmatter (.md)
autocmd BufNewFile *.md so $HOME/.vim/templates/mdfm autocmd BufNewFile *.md so $HOME/.vim/templates/mdfm
"autocmd BufNewFile *.md %s/filename:.*/s//filename:\=expand('%:t:r')
"autocmd BufNewFile *.md %s/filename:.*/\='filename: '.expand('%:t:r')
"autocmd BufNewFile *.md exe "g/^filename:.*/s//filename: " .expand('%:t:r')
autocmd BufNewFile *.md exe "g/^filecreated:.*/s//filecreated: " .strftime("%Y-%m-%d") autocmd BufNewFile *.md exe "g/^filecreated:.*/s//filecreated: " .strftime("%Y-%m-%d")
autocmd BufNewFile *.md exe "normal Go" autocmd BufNewFile *.md exe "normal Go"
autocmd BufWritePre,filewritepre *.md execute "normal! ma" autocmd BufWritePre,filewritepre *.md execute "normal! ma"
@@ -358,13 +397,9 @@ nnoremap ,begend :-1read $HOME/.vim/templates/begend<CR>jA
nnoremap ,sh :0read $HOME/.vim/templates/sh<CR> <bar> :1<CR>dd <bar> :4%s/filename/\=expand('%:t')/g<CR> nnoremap ,sh :0read $HOME/.vim/templates/sh<CR> <bar> :1<CR>dd <bar> :4%s/filename/\=expand('%:t')/g<CR>
" section readinglist header " section readinglist header
"nnoremap ,rl :0read $HOME/.vim/templates/readinglist<CR> <bar> :1<CR>dd $
"nnoremap ,rl :0read $HOME/.vim/templates/rlfm<CR> <bar>zR<CR> <bar> :1<CR>dd :%s/^filename:/\="filename: " . expand('%:t:r')/g<CR>
nnoremap ,rl :0read $HOME/.vim/templates/rlfm<CR> <bar>zR<CR> <bar> :1<CR>dd nnoremap ,rl :0read $HOME/.vim/templates/rlfm<CR> <bar>zR<CR> <bar> :1<CR>dd
" section markdown file header " section markdown file header
"nnoremap ,md :0read $HOME/.vim/templates/md<CR> <bar> :1<CR>dd <bar> :%s/filename/\=expand('%:t:r')/g<CR>
"nnoremap ,md :0read $HOME/.vim/templates/mdfm<CR> <bar>zR<CR> <bar> :1<CR>dd :%s/^filename:/\="filename: " . expand('%:t:r')/g<CR>
nnoremap ,md :0read $HOME/.vim/templates/mdfm<CR> <bar>zR<CR> <bar> :1<CR>dd nnoremap ,md :0read $HOME/.vim/templates/mdfm<CR> <bar>zR<CR> <bar> :1<CR>dd
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
@@ -377,7 +412,35 @@ autocmd FileType netrw setl bufhidden=delete
" --------------------------------------------------------------------------------------------------------------------- " ---------------------------------------------------------------------------------------------------------------------
" ==> yaml stuff (https://lornajane.net/posts/2018/vim-settings-for-working-with-yaml) " ==> yaml stuff (https://lornajane.net/posts/2018/vim-settings-for-working-with-yaml)
" "
autocmd BufNewFile,BufReadPost *.{yaml,yml} set filetype=yaml foldmethod=indent autocmd BufNewFile,BufReadPost *.{yaml,yml} set filetype=yaml foldmethod=manual
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
" Abbreviations
" Correcting common misspellings
iab couljd could
iab wouljd would
iab monring morning
iab teh the
iab adn and
iab form from
iab wiht with
iab becuase because
iab definately definitely
iab seperate separate
" ---------------------------------------------------------------------------------------------------------------------
" ==> Colors
" Term GUI Colors
" colorscheme replaced by ~/.vimcustom
" If there is a file at ~/.vimcustom, the colorscheme defined in that file
" will be applied. If not, colorscheme defaults to 'darkburn'
" ---------------------------------------------------------------------------------------------------------------------
" ==> Source Local Customizations and Set Colorscheme
let s:custom_config_path = expand('$HOME/.vimcustom')
if filereadable(s:custom_config_path)
execute 'source' fnameescape(s:custom_config_path)
else
colorscheme darkburn
endif

133
CHANGELOG.md Normal file
View File

@@ -0,0 +1,133 @@
# Last 25 Commits
## 9dbe4a8 (chawley (penguin), 2025-04-24) - Disable folding for yaml
Disable fold for yaml files
## b052f7f (chawley (overlook), 2025-04-23) - Added line number toggle and colorscheme customization
- <leader>n to toggle line numbers
- source ~/.vimcustom (if exists) for custom colorscheme
- disable airline theme (let it inherit from colorscheme
-
## fe39e86 (chawley (penguin), 2025-04-20) - added words to dictionary
## aaf5d31 (chawley (overlook), 2025-04-15) - Reworked Spell Check Section
Removed the global nospell autocommands:
The lines `autocmd BufRead,BufNewFile * setlocal nospell` and
`autocmd BufRead,BufNewFile *.* setlocal nospell` have been removed.
These were turning off spell checking for all files.
## d2821c7 (chawley (overlook), 2025-04-14) - .vimrc changes
- Theme: darkburn
- ASCII foldchars
- Changed keybinding for notes to `<leader>nn`
-
## 750376d (phansible, 2025-04-14) - Added no line break to wrap toggle
## 0793816 (chawley (tfadmin), 2025-04-14) - Updated README
## 063e68f (chawley (tfadmin), 2025-04-14) - Added marks list
Keybinding (`<leader>m`) to open mark list
## c63cb6a (chawley (overlook), 2025-04-14) - Added keybinding for datestamp
Added additional keybinding to mimic datestamp entry from VS Code (<crtl><shift>-i)
## a2c808e (chawley (overlook), 2025-04-14) - Added words to custom dictionary
## 41a036f (chawley (overlook), 2025-04-14) - Updated README
## 48dd076 (chawley (overlook), 2025-04-14) - Upgraded vim-plug plugin
via :PlugUpgrade
## b2bacfa (chawley (overlook), 2025-04-14) - .vimrc and rm old templates
Removed unused templates, added word-wrap to .vimrc
## 6db5468 (chawley (tfadmin), 2024-10-28) - Updated vim-plug plugin
## 6372ff4 (chawley, 2024-05-21) - text width = 135
Increased text width to 135 by default.
## 89fdfb9 (chawley, 2024-05-09) - Changed keybinding for FZF paste
Press <ctrl>-p to paste the filename of the file selected by FZF
## f4f82ad (chawley, 2024-05-03) - .vimrc - removed reference to filenames in markdown frontmatter
## 97f7d50 (chawley, 2024-05-03) - Markdown Frontmatter
I removed the filename from markdown frontmatter. I've renamed file and
the filename in the frontmatter doesn't update. That's a recipe for
confusion later
## 244c5ed (chawley, 2024-04-24) - Added words to custom dictionary
## 67569b9 (chawley, 2024-04-23) - Added link to ref for
## 91e5cd5 (chawley, 2024-04-23) - Leader-f to fuzzy search word under cursor
`<leader>-f` to open FZF window with word under cursor pre-populated
## 0fa0c06 (chawley, 2024-04-16) - Frontmatter for readinglist
Reverted readinglist frontmatter to standard format with yaml delimiters
and bracketed tags
## d0cfda7 (chawley, 2024-04-15) - Frontmatter tag format
Frontmatter tags should be a list (in brackets). If I'm going to do
this, I may as well do it right.
## 5669fb2 (chawley, 2024-04-15) - Re-added proper frontmatter to markdown template
I'd removed the hashmarks from the markdown frontmatte tempplate so I
could use tags in SilverBullet, but decided against using SilverBullet
regularly. Not enough to break proper formatting.
## 2784a69 (chawley, 2024-04-10) - Removed timestamps from Markdown Files
I removed the time from markdown `fileupdated` datestamps. I don't need
that level of reference. The date a file was updated is fine.

View File

@@ -1,45 +1,23 @@
# README - dotfiles-vim ---
filecreated:
fileupdated: 2025-04-24
filetags: [readme]
---
- Created : # dotfiles-vim
- Updated : 2024-02-27 14:19
I want to finally have a `.vimrc` in which I understand each and every line. After years of collecting snips and I want to finally have a `.vimrc` in which I understand each and every line. After years of collecting snips and scraps from other people's dotfiles, I want to make sure that I am aware of what my `.vimrc` is doing.
scraps from other people's dotfiles, I want to make sure that I am aware of what my `.vimrc` is doing.
This configuration is based heavily on the guide I found here: [Vim Zero](https://www.oliversherouse.com/posts/vim_zero.html) This configuration is based heavily on the guide I found here: [Vim Zero](https://www.oliversherouse.com/posts/vim_zero.html) which does exactly what I am aiming to do here: wipe the slate clean and start over.
which does exactly what I am aiming to do here: wipe the slate clean and start over.
Whenever possible, I've noted the URL from which I found the setting or snippet. I try to insist that not everything is self-explanatory. Whenever possible, I've noted the URL from which I found the setting or snippet. I try to insist that not everything is self-explanatory.
## Installation ## Installation
Without the Ansible playbook, just clone this repo to a directory and create a few symlinks: Clone this repo to a directory and run the `create-links.sh` script. CAUTION: this will remove any existing `.vimrc` and `.vim` directories and replace them with soft links to the files in this repository.
```sh
ln -s dotfiles-vim/.vimrc $HOME/.vimrc
ln -s dotfiles-vim/.vim $HOME/.vim
```
Then open vim and install (or update) the plugins with `:PlugInstall` (or `:PlugUpdate`) Then open vim and install (or update) the plugins with `:PlugInstall` (or `:PlugUpdate`)
--- ## Changelog
* 2024-02-13: Several changes:
* Included more comments and links about what each entry does
* Removed `polyglot` plugin
* Removed `ALE` plugin
* Removed `tpope/vim-markdown` plugin
* Removed netrw customizations
* Removed auto templates, changed them to snippets:
* Insert markdown header with `,md`
* Insert shell header with `,sh`
* 2024-02-22: Replaced Vimwiki with Vim Markdown
* Suggestions from [Writing Markdown in Vim](https://codeinthehole.com/tips/writing-markdown-in-vim/)
* Added
* `godlygeek/tabular`
* `preservim/vim-markdown`
* 2024-02-25:
* Added [vim-spellsync](https://github.com/micarmst/vim-spellsync) plugin and made the needed changes to accommodate
* Reworked markdown and shell script templates to update dates in headers automatically.
* Started making better commit messages in order to avoid having to document details in README :)
Moved to CHANGELOG.md