Vim 7.2.1-79 WinXP SP3

The YankRing uses expression maps and omaps.

In order to handle the f, F, t, T (and some others) it has to prompt
the user for the following key:
df_  (delete forward to the _).

When hitting . (to repeat) an action, the user does not want to be
prompted again for the same action.  So in this case, the YR
temporarily removes the mapping, executes the command and re-adds it.

Another case where this is necessary has been found and it deals with
recording macros.
qa
df_
q

@a
When the df is entered, the YR once again prompts for the character (_).
I have handled this by creating a normal map for @, and prompt the
user for the register to run the macro from.

This is working well so far, it can also handle counts 4...@a.

I have run into a snag where I hope someone can help.

If I user does this:
1,3normal! @a

Everything works due to the use of the ! which prevents maps from firing.
But if the user does:
1,3normal @a

Things don't work since my mapping does not get the user input for
which register to run the macro from.

What I was hoping was there was some way from within an expression
function to see the full normal command.  Kind of like v:operator
which allows me to see what came before the omap, but not after.

So in my expression function, I could check if the user already
entered the "a" and use it.

Any suggestions?

Thanks,
Dave

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to