chore: updated vim config 33530285
Steve · 2026-09-10 19:26 5 file(s) · +100 −2
vim/dot-vim/autocmds.vim (added) +18 −0
1 +
" Vim has no built-in .mdx detection, so map it onto markdown while keeping
2 +
" an mdx component for filetype-specific autocommands and plugins.
3 +
augroup filetypedetect_mdx
4 +
  autocmd!
5 +
  autocmd BufNewFile,BufRead *.mdx setfiletype markdown.mdx
6 +
augroup END
7 +
8 +
" Prose files: soft wrap at word boundaries, spell check
9 +
augroup prose_settings
10 +
  autocmd!
11 +
  autocmd FileType markdown,mdx,text call s:ProseSettings()
12 +
augroup END
13 +
14 +
function! s:ProseSettings() abort
15 +
  setlocal wrap
16 +
  setlocal linebreak " Break at word boundaries
17 +
  setlocal spell
18 +
endfunction
vim/dot-vim/autoload/lightline/colorscheme/darkmatter.vim +2 −2
12 12
13 13
let s:p = {'normal': {}, 'inactive': {}, 'insert': {}, 'replace': {}, 'visual': {}, 'tabline': {}}
14 14
15 -
let s:p.normal.left     = [ [ s:base00, s:base0A ], [ s:base05, s:base02 ] ]
15 +
let s:p.normal.left     = [ [ s:base00, s:base0B ], [ s:base05, s:base02 ] ]
16 16
let s:p.normal.middle   = [ [ s:base04, s:base01 ] ]
17 17
let s:p.normal.right    = [ [ s:base00, s:base04 ], [ s:base05, s:base02 ], [ s:base04, s:base01 ] ]
18 18
let s:p.normal.error    = [ [ s:base00, s:base0A ] ]
19 19
let s:p.normal.warning  = [ [ s:base00, s:base0B ] ]
20 20
21 -
let s:p.insert.left     = [ [ s:base00, s:base0B ], [ s:base05, s:base02 ] ]
21 +
let s:p.insert.left     = [ [ s:base00, s:base0A ], [ s:base05, s:base02 ] ]
22 22
let s:p.replace.left    = [ [ s:base00, s:base08 ], [ s:base05, s:base02 ] ]
23 23
let s:p.visual.left     = [ [ s:base00, s:base05 ], [ s:base05, s:base02 ] ]
24 24
vim/dot-vim/keybinds.vim +54 −0
1 1
let mapleader = " "
2 2
3 3
noremap <leader>e :Ex<CR>
4 +
noremap <leader>h :noh<CR>
5 +
noremap <S-l> :bnext<CR>
6 +
noremap <S-h> :bprevious<CR>
7 +
noremap <leader>t :tabnext<CR>
8 +
noremap <leader>c :Bclose<cr>:tabclose<cr>gT
9 +
noremap <C-d> <C-d>zz
10 +
noremap <C-u> <C-u>zz
11 +
12 +
noremap <leader>q :e ~/buffer.md<CR>
13 +
14 +
noremap <C-j> <C-W>j
15 +
noremap <C-k> <C-W>k
16 +
noremap <C-h> <C-W>h
17 +
noremap <C-l> <C-W>l
18 +
19 +
" Spelling suggestions (requires fzf)
20 +
function! s:SpellReplace(word, choice) abort
21 +
  execute 'normal! ciw' . a:choice
22 +
  stopinsert
23 +
endfunction
24 +
25 +
function! s:SpellSuggest() abort
26 +
  let l:word = expand('<cword>')
27 +
  if empty(l:word)
28 +
    return
29 +
  endif
30 +
  call fzf#run(fzf#wrap({
31 +
        \ 'source': spellsuggest(l:word, 25),
32 +
        \ 'sink': function('s:SpellReplace', [l:word]),
33 +
        \ 'options': ['--prompt', 'Spelling: ' . l:word . '> ']
34 +
        \ }))
35 +
endfunction
36 +
37 +
nnoremap <silent> <leader>s :call <SID>SpellSuggest()<CR>
38 +
39 +
command! Bclose call <SID>BufcloseCloseIt()
40 +
function! <SID>BufcloseCloseIt()
41 +
    let l:currentBufNum = bufnr("%")
42 +
    let l:alternateBufNum = bufnr("#")
43 +
44 +
    if buflisted(l:alternateBufNum)
45 +
        buffer #
46 +
    else
47 +
        bnext
48 +
    endif
49 +
50 +
    if bufnr("%") == l:currentBufNum
51 +
        new
52 +
    endif
53 +
54 +
    if buflisted(l:currentBufNum)
55 +
        execute("bdelete! ".l:currentBufNum)
56 +
    endif
57 +
endfunction
vim/dot-vim/options.vim +25 −0
8 8
set smartindent
9 9
set showmatch
10 10
set backspace=indent,eol,start
11 +
set autoread
12 +
set lazyredraw
11 13
syntax on
12 14
set termguicolors
15 +
set cursorline
13 16
set shell=/bin/zsh
14 17
set noshowmode
15 18
set signcolumn=yes
19 +
" Search Options
20 +
set hlsearch " Search highlighting
21 +
set incsearch " Incremental search
22 +
set ignorecase " Non case sensitive searching
23 +
set smartcase " Auto switch to case-sensitive if capital used
16 24
25 +
set mouse=a "Enabled mouse for scrolling
26 +
set spell
27 +
" System clipboard: * register on macOS, + when xterm_clipboard is built in
28 +
if has('unnamedplus')
29 +
  set clipboard=unnamedplus
30 +
else
31 +
  set clipboard=unnamed
32 +
endif
33 +
34 +
set noerrorbells
35 +
set novisualbell
36 +
set t_vb=
37 +
set tm=500
38 +
39 +
set nobackup
40 +
set nowb
41 +
set noswapfile
vim/dot-vim/vimrc +1 −0
1 1
source ~/.vim/options.vim
2 +
source ~/.vim/autocmds.vim
2 3
source ~/.vim/plugins.vim
3 4
source ~/.vim/keybinds.vim
4 5
source ~/.vim/fzf.vim