I’ve long used this very useful shortcut in vim:
nmap <space> i <esc>r
this means that if I press spacef, for example, it will insert a single character f at the given position.
unfortunately, however, this is not atomic, ie, if I press spacef and then navigate somewhere else, then press ., I get the equivalent of rf, not spacef.
all this makes sense, but here’s the question: is there a way of making this atomic, so that . will repeat the ‘insert character’ operation, and so that undo etc all treat it as one operation, too?
Awesome! Michael’s answer pointed me to the plugin I needed to finish my plugin, which can now do what you want – I had been trying to figure out how to do this for ages!
1) Install Tim Pope’s plugin
2) Install my plugin
3) Add a mapping to your
.vimrc: