" vint: -ProhibitCommandRelyOnUser -ProhibitCommandWithUnintendedSideEffect " #AutoSave "{{{ let g:my_autosave = get(g:, 'my_autosave', 0) command! EnableAutoSave let g:my_autosave = 1 command! DisableAutoSave let g:my_autosave = 0 nnoremap :call ToggleAutoSave() function! ToggleAutoSave() abort silent update let g:my_autosave = !g:my_autosave echo 'autosave' g:my_autosave? 'enabled' : 'disabled' endfunction function! DoAutoSave() abort if g:my_autosave != 0 silent! update endif endfunction "}}} let g:erase_space_on = 1 command! EraseSpace call EraseSpace() command! EraseSpaceEnable let g:erase_space_on=1 command! EraseSpaceDisable let g:erase_space_on=0 function! EraseSpace() abort "{{{ if g:erase_space_on != 1 return endif " filetypeが一致したらreturn if &ft =~# 'markdown\|gitcommit\|help' return endif " for vim-precious if expand('%') =~# '.md$' return endif let l:pos = getpos('.') %s/\s\+$//eI while getline('$') =~# '^\s*$' $delete endwhile call setpos('.', l:pos) endfunction "}}} " #Blank "{{{ nnoremap (BlankUp) :call BlankUp(v:count1) nnoremap (BlankDown) :call BlankDown(v:count1) function! s:BlankUp(count) abort put! =repeat(nr2char(10), a:count) ']+1 silent! call repeat#set("\(BlankUp)", a:count) endfunction function! s:BlankDown(count) abort put =repeat(nr2char(10), a:count) '[-1 silent! call repeat#set("\(BlankDown)", a:count) endfunction "}}} " #Misc function! ResetHightlights() abort " nohlsearch " 関数内では動作しない silent! call clever_f#reset() silent! LinediffReset silent! QuickhlManualReset silent! RCReset silent! HierClear silent! call lightline#update() ClearLocList " call clearmatches() endfunction command! HTMLalign call HTMLalign() function! HTMLalign() abort %s/\v\>\\r) function! Inject(expr) abort let pos_save = getpos('.') try exec printf('silent normal! gv"%sy', g:working_register) let values = split(getreg(g:working_register)) return vimrc#inject(values, a:expr) finally call setpos('.', pos_save) endtry endfunction