Posts

Showing posts from November, 2018

An Hour Well Spent

I spent a bout an hour at the office today getting my F6 mapped to to a vimscript function that tidies up the whitespace in my code. Usually I map F6 to trim trailing whitespace, and F7 to replace tabs with spaces. inoremap <F6> % s / \s+$ //g <CR> inoremap <F7> % s / \<TAB> /     /g <CR> But today I decided that I was going to combine those two into a single TidyWS() vimscript function. It turns out getting this to work cleanly was more challenging than I expected. Long story short, here's how I did it. function ! TidyWS ()     let l:save = winsaveview ()     silent ! % s / \s+$ //g     silent ! % s /\<Tab>/     /g     call winrestview ( l:save )     echo "whitespace tidied" endfunction nnoremap <F6> :call TidyWS() <CR>