数日悩んだのでメモ。
vim は、標準入力をバッファとして読み込むことが出来ます。
$ echo 'hoge' | vim -
のように-
をつけて起動すると、標準入力がバッファとして読み込まれます。
上の例では、バッファにhoge
が入った状態でVimが起動します。
この標準入力からバッファが読み込まれた時、2つのautocmdイベントが発生します。
- StdinReadPre
- StdinReadPost
そのため、この2つのイベントのどちらかが発生したかを確認することによって、標準入力からバッファが読まれたかを判別することができます。