2024年12月10日火曜日

Vim の組み込み関数の結果をバッファに出力する

この記事は Vim advent calendar 2024(Adventar) の10日目の記事です。

この記事はなに?

getcellpixels() の追加を行った際に、 テストでバッファに関数の結果を出力する必要があったので、やり方を調べた。

結論

:redi @"
:echo getcellpixels()
:redi END
""p

ここでは、 :redi @" で、コマンドの出力を " レジスタへリダイレクト開始の設定をしている。

その後、 :echo getcellpixels()getcellpixels() 関数の結果を出力しているが、 先のリダイレクト設定により、その結果が " レジスタに格納される。

:redi END でリダイレクト設定を解除し、 ""p" レジスタの内容をバッファにペーストする。

こうすることで、空のバッファにペーストした際には、バッファの 3 行目にコマンドの結果が出力される。

3 行目である理由は謎。

以上。

参考資料

0 件のコメント:

コメントを投稿