6

我的 vimrc 中有以下映射:

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

我想<Leader>h1/2 重复.

存在Tim Pope的repeat.vim插件,其用法如下

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

我尝试通过以下方式使用它:

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

这没用。

我知道这不是一个严重的并发症,但是,我有兴趣将 repeat.vim 用于自己的映射。

4

1 回答 1

8

repeat#set()调用必须在映射调用之后进行,而不仅仅是在映射定义之后进行。使用:normal,您必须将其包装:execute为能够附加:call,但实际上您的映射根本不需要使用:normal

:nnoremap <silent> <Plug>MyWonderfulMap yyp<c-v>$r=:silent! call repeat#set("\<Plug>MyWonderfulMap", v:count)<CR>
:nmap <Leader>h1 <Plug>MyWonderfulMap
于 2013-06-18T10:24:54.063 回答