vi の ex コマンドはおそろしく不規則でパースが困難らしい。
ex.c にはこんなことが書いてあった。
* For the fun of it, if you want to see if a vi clone got the ex argument * parsing right, try: * * echo 'foo|bar' > file1; echo 'foo/bar' > file2; * vi * :edit +1|s/|/PIPE/|w file1| e file2|1 | s/\//SLASH/|wq * * or: vi * :set|file|append|set|file * * For extra credit, try them in a startup .exrc file. * * PUBLIC: int ex_cmd __P((SCR *)); */
vim は正しく処理できた。