別のファイルに書き出す行がたくさんあります。
どうやってやるの?
できるよ
:100,200w filename
もちろん100,200は書きたい行の範囲です。
最も一般的な:
書き込みたいグループの最初の行にカーソルを移動します。 m
およびa
シーケンシャルを押します。それが「a」というセットマークです。
カーソルをグループの最後の行に移動し、「m」と「b」を押します。
コマンドモードヒットに切り替えます。シーケンスとして:'a,'b w filename
を実行してから、リターンを押します。
これはvi、nvi、vimで機能します。
別の方法は、より現代的なvimで機能します。
書き出す行のグループの最初の行にカーソルを置きます。 「行のビジュアルブロックを開始」するには、V
を押します。
カーソルを行グループの一番下に移動します。 Vimは各行を反転表示してハイライトします。
書き出す。 :
を押して、コマンドラインモードに入ります。これにより、画面下部に次のようなプロンプトが表示されます。:'<,'>
これは、ビジュアルブロックの開始から終了までを意味します。 w
とファイル名を入力してReturnキーを押します。
書き出す行にカーソルを置いて:.w >> filename
と入力し、Enterキーを押すことで、必要に応じて単一行をファイルの最後に追加できます。
「行のグループを書き込む」コマンドは、「filename」だけでなく「>> filename」でも機能します。 ">>"を指定すると、viまたはvimはファイルに書き込むだけでなく、ファイルに追加します。
記述したい行番号がわかっている場合は、コマンドラインから実行できます。
vim -c "100,200w new_file.txt" -c wq original_file.txt
ベルンハルトの回答に追加するには、ビジュアルモードを使用して地域を選択し、:w filename
を入力することもできます。
小さなトリックの1つは、相対行番号を使用することです。例::+ 0、+ 99w filenameは、次の100行をfilenameに書き込みます。