" editing.vim — EasyMotion, yank highlight, search auto-clear, undotree " ── EasyMotion ────────────────────────────────────────────────────────────── let g:EasyMotion_do_mapping = 0 let g:EasyMotion_smartcase = 1 if exists('g:plugs["vim-easymotion"]') nmap s (easymotion-overwin-f2) nmap j (easymotion-j) nmap k (easymotion-k) endif " ── UndoTree ──────────────────────────────────────────────────────────────── if exists('g:plugs["undotree"]') nnoremap :UndotreeToggle nnoremap u :UndotreeToggle endif " ── Yank Highlight ────────────────────────────────────────────────────────── if exists('##TextYankPost') && has('timers') function! s:YankHighlight() abort if v:event.operator !=# 'y' | return | endif let l:m = matchadd('IncSearch', \ printf('\%%>%dl\%%<%dl', line("'[") - 1, line("']") + 1)) call timer_start(150, {-> execute('silent! call matchdelete(' . l:m . ')')}) endfunction augroup ChopstickYankHL autocmd! autocmd TextYankPost * call s:YankHighlight() augroup END endif " ── Blank Line Insertion (replaces vim-unimpaired) ────────────────────────── nnoremap [ :put! =repeat(nr2char(10), v:count1)'[ nnoremap ] :put =repeat(nr2char(10), v:count1) " ── Auto-Clear Search Highlight ───────────────────────────────────────────── augroup ChopstickSearchHL autocmd! autocmd CursorHold * if get(v:, 'hlsearch', 0) | let v:hlsearch = 0 | endif augroup END