vi[m] 別のファイルから指定範囲の行を読み込む

vi[m] 別のファイルから指定範囲の行を読み込む

Linux で、file_Bvim で編集して、 の 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

関連情報