Vimmers know that .
can repeat simple changes. I tried to build a list of what can be repeated or not, but is there a list?
I tried to list what I know to be repeatable: they are all normal-mode commands:
- Text insertion :
a
,A
,i
,I
,o
,O
- Text changes involving registers:
c
,C
,d
,D
,p
,gp
,P
,gP
,s
,S
,x
,X
- Other text changes:
J
,gJ
,r
,gr
,R
,gR
,gU
,gu
,gw
,gq
,g?
,~
,g~
,<
,>
,=
- Equivalent of these operations in visual mode.
- Control-operations:
C-A
,C-X
gi
will repeat the insertion but at current cursor position, not at last insert position. So it sort of works.
But it does not include:
- All move and display commands (too numerous to be listed here)
- All fold commands (z-commands, also numerous)
- Mark (
m
) - Substitution repeat (
&
,g&
) - Colon or Filter command (
!
,:
,Q
) - Macro recordings or playing (
q
or@
, will repeat last repeatable action done while recording or playing ). - Diff put and get (
dp
,do
) - Undo (
u
,U
,C-R
) - Yanks (
y
)
I know that tpope's repeat plugin can have custom plugins subscribe to the repetition mechanism. But by default, is the above list good?