我的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进行自己的映射。
答案 0 :(得分:6)
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