回答:
カーソルがすでに12行目にある場合、単純な
:4年 P
私のためにそれをします。
x
ますか?私がしようとしたとき:4x
、私が得ますE140: Use ! to write partial buffer
。ありがとう!
:4d
これはどうですか:カーソルは11行目にあり、「vi」モードになっています。
:4co.<return>
あなたは明らかにパターンでもそれを行うことができます:
:/^Yank/co.<return>
「co」(コピー)の代わりに「mo」(移動)を使用して、yankとputの代わりに単に行を移動できます。
:4t.
他の人はこれを行う最も直接的な方法をすでに言及していますが、それについては:4y
2つのメモを追加したいと思います。
1つは、入力:help range
すると、範囲を使用してExスタイルコマンドに適用する方法についてすべて学習します。多くの場合非常に有用であり、行番号を使用するよりもはるかに汎用性があります。たとえば、ドキュメントの開始後に「yank」で始まる最初の行をヤンクする場合(最初の行であっても)、を使用します:0/^yank/y
。範囲の最も強力な部分は、それらを結合する機能です。たとえば、:./^Chapter/+50?Pete?d
「Chapter(現在の行から前方に検索)で始まる次の行を検索し、50行前方にジャンプし、Peteという単語を後方に検索します。見つかった最初の行を削除します。」実際にカーソルを動かさないことを除いて、それはあなたが言うことをするだけです。
(このタイプの範囲指定を使用して、カーソルの下の関数名を検索し、「説明」と言った次の行を前方に検索し、特定のレジスタにヤンクするなど、厄介なドキュメント作成を自動化しました。)
もう1つのヒントは、ジャンプについて知っておく必要があるということです。入力:help jump-motions
して完全に学習しますが、ここで関連する方法は、4行目にジャンプしてヤンクしてからRETURNキーを押す4Gyy''
(または、アポストロフィの代わりにバッククォートを使用して、ちょうど同じLINEではなく、正確な開始位置にジャンプすることです)あなたが始めた。)
最短:
:1t.
現在の下の最初の行をコピーします。
範囲を有する:
:1,4t.
コピーは1(含む)4への電流の下の行。
相対行番号でも可能です:
:-1t.
前の行を現在の行の下にコピーします。
あなたの例で:4t-1
は、目的の行の下にある4行目をコピーします。
注::t
は、:co[py]
コマンドの同義語です。