8

I have following mappings in my vimrc:

nmap <Leader>h1 yyp<c-v>$r=
nmap <Leader>h2 yyp<c-v>$r-

I'd like to repeat <Leader>h1/2 with .

There exist the repeat.vim plugin by Tim Pope with following usage line

silent! call repeat#set("\<Plug>MyWonderFulMap", v:count)

I tried using it in the following way:

nnoremap <silent> <Plug>MyWonderfulMap :normal yyp<c-v>$r=
silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)
nmap <Leader>h1 <Plug>MyWonderfulMap

It does not work.

I know it is not a serious complication, however, I am interested to use the repeat.vim for own mappings.

Hotschke
  • 9,402
  • 6
  • 46
  • 53

1 Answers1

9

The repeat#set() invocation must be done after the mapping invocation, not just once after the mapping definition. With :normal, you'd have to wrap this with :execute to be able to append the :call, but actually your mapping doesn't need to use :normal at all:

:nnoremap <silent> <Plug>MyWonderfulMap yyp<c-v>$r=:silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)<CR>
:nmap <Leader>h1 <Plug>MyWonderfulMap
Ingo Karkat
  • 167,457
  • 16
  • 250
  • 324