Vim/Ex を使用した単一点の配置

Vim/Ex を使用した単一点の配置

vim onelinersに触れていますが、vim exモードの追加コマンドで。文字をエスケープできません。

もともと、

vim -En '+a|Hello World' '+p' '+q!' -

「Hello World」を印刷してください。

しかし、

vim -En '+a|.' '+p' '+q!' -

何も印刷されません。これ。追加のコマンドは1行で終わって印刷できません。

残念ながら、これはコマンドを接続するためにvim -Eコマンドをスクリプトとして書くことができないことを意味します。私は最初のvim呼び出しがExコマンドを構成し、2番目のvim呼び出しがそれを解釈するのと同じことをしたいと思います。

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!' -

(ゴルフと言われましたが、相対的にキャラクター数が多く追加されますので合わないかもしれません。特別な制限事項があればぜひ詳しく説明してください。)

おすすめ記事