私はvimワンライナーをいじっていて、逃げることができません。 vimexモードの追加コマンドの文字。
基本的に、
vim -En '+a|Hello World' '+p' '+q!' -
「HelloWorld」を印刷します
だが、
vim -En '+a|.' '+p' '+q!' -
何も印刷しません。 。 1行でそれ自体で追加コマンドが終了するため、印刷できません。
残念ながら、これは、コマンドをチェーンできるvim-Eコマンドスクリプトを記述できないことを意味します。最初のvim呼び出しがExコマンドを構築し、2番目がそれらを解釈するこのようなものが必要です
vim -En '+a|aConvoluted Hello World
.
Qp
QZQ
' | vim -En
しかし、最初の呼び出しは失敗します:からのすべて。 onは無視されます。
ドットをエスケープする方法はありますか? (これはちょっとしたコードゴルフなので、すべてvimのみにする必要があります)
興味のある人のためのゴルフ規則:
セットb、c、d、e、f、k、p、r、s、t、{、}、$、&、;、/、:、@、#,(、)、<の文字はありません、>、!すべて大文字を使用できます。
これは少し不自然かもしれませんが、私にとっては単一の期間を出力します。
vim -En '+a|.x' '+s/x//' '+p' '+q!' -
(ゴルフについておっしゃっていたので、比較的多くのキャラクターが追加されるため、これではうまくいかないかもしれません。特定の制約がある場合は、必ず詳しく説明してください。)