summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlake Romero <blake@developercraft.com>2025-10-27 16:04:53 +0000
committerBlake Romero <blake@developercraft.com>2025-10-27 16:04:53 +0000
commitb9bee5aedc2c696661aeb0666aee0ca7643436d9 (patch)
tree7271285393d0c4ed7b069cd968ea05d926b0f62b
parentc585c91b420377d61c58be64e179b140c2f6f9cb (diff)
Add whitespace match & highlight, & add format column keybinding
-rw-r--r--vimrc31
1 files changed, 20 insertions, 11 deletions
diff --git a/vimrc b/vimrc
index afd5f2e..85ea414 100644
--- a/vimrc
+++ b/vimrc
@@ -9,9 +9,7 @@ let &viminfofile = "~/.cache/vim/viminfo"
colorscheme industry
" Settings
-set autochdir
-set autoindent
-set autoread
+set autochdir autoindent autoread
set clipboard=unnamed,unnamedplus
set history=100
set hlsearch
@@ -47,10 +45,6 @@ nnoremap <silent> mk :move +1<cr>
vnoremap <silent> mj :move '<-2<cr>gv=gv
vnoremap <silent> mk :move '>+2<cr>gv=gv
-" Move word
-nnoremap mw dwwPb
-nnoremap mb dBWPBB
-
" Leader key
let mapleader = "\<space>"
@@ -73,7 +67,7 @@ nnoremap <leader>: <C-w>L
nnoremap <leader>- <C-w>s
nnoremap <leader>\ <C-w>v
-" Exiting vim
+" Exit vim
nnoremap <silent> <leader>x :xit<cr>
nnoremap <silent> <leader>a :qall<cr>
@@ -85,14 +79,14 @@ nnoremap <silent> <leader>d :bdelete<cr>
nnoremap <silent> <leader>w :write<cr>
nnoremap <silent> <leader>q :quit<cr>
-" Tabs
+" Tab
nnoremap <silent> <leader>t :tabnew<cr>
nnoremap <silent> <leader><tab> :tabnext<cr>
-" Toggle line numbers
+" Line numbers
nnoremap <silent> <leader>n :set number! relativenumber!<cr>
-" Toggle cursor highlight
+" Cursor highlight
nnoremap <silent> <leader>c :set cursorcolumn!<cr>
nnoremap <silent> <leader>h :set cursorline!<cr>
@@ -105,3 +99,18 @@ nnoremap <silent> <leader><space> :set list!<cr>
" Toggle tab/space formatting
nnoremap <leader>= :set noexpandtab! \| %retab!<cr>
+" Match trailing whitespace
+autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
+autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
+autocmd InsertLeave * match ExtraWhitespace /\s\+$/
+autocmd BufWinLeave * call clearmatches()
+
+" Set Whitespace & special character colour
+highlight NonText ctermfg=darkgrey guifg=#6e6a86
+highlight SpecialKey ctermfg=darkgrey guifg=#6e6a86
+highlight EndOfBuffer ctermfg=bg guifg=bg
+highlight ExtraWhitespace ctermfg=bg ctermbg=red
+
+" Format plaintext table
+vnoremap <leader>ft :!column -t -s '\|' -o '\|'<cr>
+