Sometimes we just need to type a slightly different name when using mv/cp/convert. For example,convert IMG-long-number.jpg  IMG-long-number.pngHow can I repeat IMG-long-number.jpg before typing the IMG-long-number.png, so I only need to make small adjustment?This is similar to How to repeat currently typed in parameter on bash console? but for zsh/zle.
How to repeat currently typed in parameter in zsh?
zsh;zle
!#$<Tab> works for me. Given:$ echo aTyping !#$ then pressing Tab expands !#$ to a. Tab completion also lists other options if you try an operation with ::$ echo a !#$:&  -- repeat substitutionA  -- absolute path resolving symbolic linksQ  -- strip quotesa  -- absolute pathc  -- PATH search for commande  -- leave only extensiong  -- globally apply s or &h  -- head - strip trailing path elementl  -- lower case all wordsq  -- quote to escape further substitutionsr  -- root - strip suffixs  -- substitute stringt  -- tail - strip directoriesu  -- upper case all words