Test for visual mode not being reset causing E315 error. STARTTEST :so small.vim :enew :let g:msg="Everything's fine." :function! TriggerTheProblem() : " At this point there is no visual selection because :call reset it. : " Let's restore the selection: : normal gv : '<,'>del _ : try : exe "normal \" : catch /^Vim\%((\a\+)\)\=:E315/ : echom 'Snap! E315 error!' : let g:msg='Snap! E315 error!' : endtry :endfunction :enew :setl buftype=nofile :call append(line('$'), 'Delete this line.') :" :" :" NOTE: this has to be done by a call to a function because executing :del the :" ex-way will require the colon operator which resets the visual mode thus :" preventing the problem: :" GV:call TriggerTheProblem() :%del _ :call append(line('$'), g:msg) :w! test.out :brewind ENDTEST STARTTEST :qa! ENDTEST