![vi[m] 別のファイルから指定範囲の行を読み込む](https://rvso.com/image/31296/vi%5Bm%5D%20%E5%88%A5%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8B%E3%82%89%E6%8C%87%E5%AE%9A%E7%AF%84%E5%9B%B2%E3%81%AE%E8%A1%8C%E3%82%92%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%82%80.png)
Linux で、file_B
vim で編集して、 の 10 行目から 25 行目を追加したいですfile_A
。例: まったく同じヘッダーを持つ HTML ドキュメントのセット全体があり、テンプレートを作成してそこから開始することもできますが、それでも次のようになります。
を探しています1 つのファイルから一定範囲の行を挿入し、現在編集中のファイルに追加するシンプルでエレガントな方法。vim で。
これまでに見つけた解決策は正確には私が探しているのは
- 内部
file_B
このコマンドは:read file_A
*ファイルA全体*をファイルBに追加します。 - vimにはコピー&ペースト機能があるが、これを使うには
file_A
- 内部file_Aは
:10,25w! file_B
指定された範囲の行を に「送信」しますfile_B
。
これはコピー&ペーストに非常に近いようです。 - vimでは複数のウィンドウを開くことができます
が、8インチの画面で作業しているため、複数のウィンドウがあると方向がわかりにくくなります。
納得のいく解決策が見つからなかったため、私が何かを誤解しているだけなのか、それともこれまで私が見つけた方法が一般的に使用され、標準的な方法とされているのか疑問に思います。
答え1
私が思いつく最善の解決策は、外部から呼び出してsed
それを組み合わせることです:read !
:r !sed -n -e '10,25p' fileB