Vim でテキストを編集してる時、他のファイルの内容を読み込みたい時があります。
現在の行の1行下に、対象ファイルの内容を単に全部読み込むだけだったら、コマンドモードで次のように打ち込めばOK。
:r file
現在のファイルの指定した行の下に読み込むには r(read) の前に行を指定します。
例えば10行目の下(つまり11行目に)指定したファイルの内容を読み込むには、
:10r file
指定したファイルの全体ではなく、一部分だけ読み込みたい場合には、r の後に ! を書いてコマンドを続けます。
sed でもいいと思うのですが、僕は Awk が好きなので次のように書きます。
:r !awk 'NR <= 4 {print}' file
上記のように書いて Enter すると、現在の行の下に file の先頭から4行目までが読み込まれます。
Awk の中身ですが、NR が指定したファイル中の行番号になるので「行番号が4以下だったら、print(出力)しなさい」というコマンドになり、Vim の exコマンド r(read) が Awk の出力を現在のファイルに読み込む、という流れになります。