I have mailed Mr. Bram Moolenaar, the author of Vim, about this, to no avail. Perhaps someone else has experienced the same issue. On to the subject:
It’s somehow impossible to use the character 0x1e (RS, Record Separator, etc.) on the right side of a mapping. An example:
map ;r /^^/e+1^M
(where “^^” is the literal control character 0x1e, nothing else.)
The 0x1e character seems to disappear completely, so that the
/^^/e+1^M will become
//e+1^M when it gets executed. It does however show up normally when you type ‘map’. Very weird indeed. This bug has existed since version 6.0 (I have compiled every version back to 5.8). And in the latest version from Mercurial, 0x1c and 0x1d won’t work as well. What’s happening here?
I should add that Bram isn’t very helpful, having a generally snotty attitude. Too bad.