diff --git a/.vim/autoload/vimrc.vim b/.vim/autoload/vimrc.vim --- a/.vim/autoload/vimrc.vim +++ b/.vim/autoload/vimrc.vim @@ -47,3 +47,16 @@ func! vimrc#Hgcd() abort pwd endfunc +func! vimrc#SafeFilterFile(cmd) + let errors = tempname() + try + exec 'silent %!' . a:cmd . ' 2>' . shellescape(errors) + if v:shell_error + for line in readfile(errors) + echomsg line + endfor + endif + finally + call delete(errors) + endtry +endfunc