我正在摆弄 vim oneliners,但我无法逃脱 . vim ex 模式附加命令中的字符。
基本上,
vim -En '+a|Hello World' '+p' '+q!' -
打印“Hello World”
但,
vim -En '+a|.' '+p' '+q!' -
根本不打印任何内容。这 。单独一行结束追加命令,所以我无法打印它。
不幸的是,这意味着我无法编写 vim -E 命令脚本来允许我链接命令。我想要这样的东西,其中第一个 vim 调用构造 Ex 命令,第二个解释它们
vim -En '+a|aConvoluted Hello World
.
Qp
QZQ
' | vim -En
但第一次调用失败了:一切都来自 . on 被忽略。
有什么办法可以逃脱这个点吗? (这有点像代码高尔夫,所以这一切都必须是 vim 而已)
适合感兴趣的人的高尔夫规则:
集合 b,c,d,e,f,k,p,r,s,t,{,},$,&,;,/,:,@,#,,,(,),< 中没有字符,>,!允许使用所有大写字符。
答案1
这可能有点做作,但它为我输出了一个句点:
vim -En '+a|.x' '+s/x//' '+p' '+q!' -
(您提到了高尔夫,所以这可能对您不起作用,因为它添加了相对大量的角色。如果有任何具体限制,请务必详细说明。)