行番号を使用して、カーソルがある場所に行をコピーするにはどうすればよいですか?


20

多くの場合、私はこれに似た状況にいます:

1. <Line 1>
2. <Line 2>
3. <Line 3>
4. <Cursor is here>
5. <I want to copy line 1 here>

簡単な解決策はmm:1<CR>yy`mp、4行目でマークを作成し、1行目に移動し、それをコピーし、マークに戻って貼り付けます。

これにより短い/より流動的な解決策はありますか?これを頻繁に行うので、マッピングを作成できてうれしいです。

回答:


23

exコピー(:help :coまたは:help :t)の場合のように見えます:

:1t4

または、カーソルの位置を使用して:

:1t.

これは、行をyankレジスタにコピーしません。これは、必要な場合とそうでない場合があります。


私は十分に元のコピーを使用していません、良い提案。
jecxjo

10

マークを使用せずに短くして、線を直接ヤンクできます。

:1y<CR>p

yankのコマンドバージョンでは{range}、行または行グループを選択します。

さらに、範囲の値は絶対または相対のいずれかです。カーソルの上の行は負の距離で、下の行は正の距離です。したがって、上の2行:-2yをヤンクし、下の2行をヤンクします:+2y

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.