2013-06-18 5 views
5

Ich habe folgende Zuordnungen in meinem vimrc:Vim - Wie man sein eigenes Mapping wiederholbar macht?

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

Ich mag würde <Leader>h1/2 mit .

Es gibt die repeat.vim Plugin von Tim Pope zu wiederholen, mit Zeilennutzung folgenden

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

I versucht, es auf folgende Weise zu verwenden:

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

Es funktioniert nicht.

Ich weiß, es ist keine ernste Komplikation, aber ich bin daran interessiert, die repeat.vim für eigene Zuordnungen zu verwenden.

+0

auch sehen http://vimcasts.org/ episoden/creating-repeatable-mappings-with-repeat-vim/ – Hotschke

Antwort

6

Der repeat#set() Aufruf muss nach dem Mapping Aufruf, nicht nur einmal nach der Abbildung Definition erfolgen. Mit :normal, müssten Sie diese wickeln mit :execute Lage sein, die :call, anhängen, aber eigentlich Ihre Zuordnung muss nicht :normal verwenden überhaupt:

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

danke. das funktioniert. – Hotschke