diff --git a/autoload/repeat.vim b/autoload/repeat.vim index e6315c4..364d311 100644 --- a/autoload/repeat.vim +++ b/autoload/repeat.vim @@ -124,9 +124,9 @@ function! repeat#errmsg() endfunction function! repeat#wrap(command,count) - exe (&foldopen =~# 'undo\|all' ? 'norm! zv' : '') - let preserve = (g:repeat_tick == b:changedtick) - return (a:count ? a:count : '') . a:command . (preserve ? ":let g:repeat_tick = b:changedtick\r" : '') + let foldopen = &foldopen =~# 'undo\|all' ? 'zv' : '' + let preserve = g:repeat_tick == b:changedtick ? ":let g:repeat_tick = b:changedtick\r" : '' + return (a:count ? a:count : '') . a:command . preserve . foldopen endfunction nnoremap (RepeatDot) :if !repeat#run(v:count)echoerr repeat#errmsg()endif