vi:1行をコマンドとして使用するには?

vi:1行をコマンドとして使用するには?
cat a.txt
echo hi
echo hu
echo ha

尋ねる:viを使用してa.txtを開くときにex.:?の2行目を実行する方法は?

したがって、"vi a.txt" -> SOMEMAGICCOMMAND -> "echo hu"がコマンドとして実行されます。どのように?

ベストアンサー1

現在の行を実行し、その行を置き換えるファイルの出力をキャプチャします。

:. !sh

2行から4行を実行し、ファイルに出力をキャプチャしてこの行を置き換えます。

:2,4 !sh

ファイル全体を実行し、すべての行を置き換えるファイルの出力をキャプチャします。

:% !sh

上記と同じですが、出力をファイルにキャプチャする代わりに印刷するだけです。

:.w !sh
:2,4w !sh
:%w !sh

おすすめ記事