matt@srs.UUCP (Matt Goheen) (01/06/88)
Try as I may, I can't seem to find a way to put a pipe symbol (`|') into a vi (ex) map. For example, in vi try: :map q i|^[ Where '^[' is entered via ^V then the escape key. Vi says something like "Unknown command character '^['". You can try escaping the `|' with a backslash and get different but equally useless results. Seems that I've tried everything (doubling the `|', backslash, etc.). The problem is that vi thinks the `|' is a command separator no matter what you do. I'm trying to write a map that sends a block of text to a series of pipelined commands (e.g. 'sed "s/^.\* //" | fmt | sed "s/^/\*\* /"' in a map along with a few other vi commands to fix it up). I have solved the problem using a shell script (or mapping three separate shell escapes into the map command -- ugghh). It just seems that there MUST be a way to do this the "right" way... -- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_- - UUCP: {allegra,rutgers,ames}!rochester!srs!matt Matt Goheen - - "Make you love to hate, and hate to love..." S.R. Systems - -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-
wk@hpirs.HP.COM (Wayne Krone) (01/07/88)
> Try as I may, I can't seem to find a way to put a pipe symbol (`|') into > a vi (ex) map. For example, in vi try: > > :map q i|^[ > > Where '^[' is entered via ^V then the escape key. Vi says something > like "Unknown command character '^['". You can try escaping the `|' > with a backslash and get different but equally useless results. Seems > that I've tried everything (doubling the `|', backslash, etc.). You have to quote `|' with ^V (ctrl-V). Try: :map q i^V|^[ where '^V' is entered via two consecutive ctrl-V's. Wayne Krone Hewlett-Packard