Author: "If you've ever tried using the . command after a plugin map, you were likely disappointed to discover it only repeated the last native command inside that map, rather than the map as a whole. That disappointment ends today. Repeat.vim remaps . in a way that plugins can tap into it."
Go to file
Eduardo Aranda Hernández 96ee3e3df7
Added an example
2019-08-22 17:00:42 -05:00
autoload Make an explicit register on repeat override g:repeat_reg 2019-04-25 22:13:50 -04:00
README.markdown Added an example 2019-08-22 17:00:42 -05:00

repeat.vim

If you've ever tried using the . command after a plugin map, you were likely disappointed to discover it only repeated the last native command inside that map, rather than the map as a whole. That disappointment ends today. Repeat.vim remaps . in a way that plugins can tap into it.

The following plugins support repeat.vim:

Adding support to a plugin is generally as simple as the following command at the end of your map functions.

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

Example

This mapping:

nmap cp xp

Has the same effect than this:

nmap <Plug>TransposeCharacters xp
nmap cp <Plug>TransposeCharacters 

To make it repeatable do this:

nmap <Plug>TransposeCharacters xp
nmap cp <Plug>TransposeCharacters 
silent! call repeat#set("\<Plug>TransposeCharacters", v:count)

Installation

Install using your favorite package manager, or use Vim's built-in package support:

mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/repeat.git

Contributing

See the contribution guidelines for pathogen.vim.

Self-Promotion

Like repeat.vim? Follow the repository on GitHub and vote for it on vim.org. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.

License

Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. See :help license.