You apparently have a wrong understanding of how repeat.vim works. You don't enable this by calling repeat#set()
once (e.g. in your ~/.vimrc
); rather, the mapping itself must be modified to invoke repeat#set()
after the mapping's normal work is done.
The way the repeat.vim plugin works is that each mapping has to tell it: Hi, I'm <Plug>MyMapping
, and I just got executed. The repeat.vim plugin hooks into the .
command, and if the last command came from such a mapping, it gets re-executed = repeated.
Therefore, repeat.vim support requires the cooperation of the plugin (which defines some mappings); either a plugin has it, or it hasn't (and then you have to ask the plugin's author to provide repeat.vim support, or use an external plugin like my repeatableMapping plugin to modify the mappings after-the-fact.
But, as Kent has already stated, the surround plugin comes from the same author as repeat.vim, and it already has that support built-in.