Paste from a selected clipboard (eg Clipboard 1, Clipboard 3 etc).
Paste a range of Clipboards, with a seperator you choose (useful for spreadsheets).
Paste the most recent Clipboard in UPPERCASE, lowercase or Title Case.
Paste variables from Mail (Sender's Name, email address, Subject, Mail text and much more).
Paste a URL.
All of these are triggered by a key sequence vvX
X is a variable or 'switch' which governs what will be pasted. So for example, the sequence vve pastes the email address taken from an email, while vvn pastes the sender's name.
In turn, vv2 pastes the second clipboard, vv3 pastes the third and so on.
The sequence vvp pastes the clipboard in uppercase, while vvl will paste in lowercase.
MODERATOR'S NOTE:
There are a number of variations/enhancements to this macro presented below, including this update posted by the OP. So you may want to scroll down to view these variations.
PSA: This trigger conflict’s with the {clip} expansion from Typinator’s Plain Clipboard Text predefined Set. I removed it, as this one is much more useful.
This prompt is presented when the trigger ends with a "?": ;vv?
which allows the user to see and select the paste options.
My trigger: ;vv[\w|\?]
Insert the magenta Action "IF: Show Prompt IF "?" for Trigger" between the "Isolate Trigger" and the "Switch of Variable" actions (and don't forget to change your trigger to allow a "?"):
The Default Value list for theTrigger is: 1__Past Clipboard 1|r__r - Range of Clipboards|l__l - lowercase|u__u - UPPERCASE|t__t - Title Case|s__s - Sentence case|q__q - "wrap in quotes"|p__p - (wrap in parentheses)
For those of you unfamiliar with this form, it allows you to show one text string but return a different string: Text to RETURN__Text to SHOW
So you simply separate the text to return from the text to show by two underscores ("__")
If you want, you can download this ACTION.
Note: When you import an Action, it will immediately put the Action after the current selected Action in your macro.
The square brackets [ ] indicate that one of any of the characters in the brackets will be matched. So we don't need the vertical bar | for alternates.
I have another switch for this macro so that I can paste numbers cleanly.
Copied credit card numbers often have spaces and telephone numbers can include brackets and hyphens, all of which can cause confusion when posted to a web form.
Similarly, copied numbers which have comma separators in the format xx,xxx.yy can be awkward when posting to spreadsheets.
This switch removes everything except digits and the decimal point.
(Europeans may want to put a comma in place of the point!)
The RegEx for removing cruft is [^0-9\n\r\.] (This means: remove everything that is not a digit, not a line-break, and not a decimal)
I adapted the idea from the people at Ergonis, who produce Typinator.
My aim was to keep digits and the decimal, along with line feeds and I don’t see a fault in my statements or the RegEx (though I see your “\R” suggestion is more elegant).
The reason I want to include the line feed in my expression is because I need to copy columns like this into a spreadsheet: