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

答え2

vimを使うと仮定すると

テキスト(Shift+ V)を含む行を選択してから、次のコマンドを実行するとわかります。

:!sh

選択した行を実行し、結果に置き換えます。

はい

以下のデモで何が起こっているのか確認できます。

                      デモページ

関連情報