vimで行全体をカットして貼り付ける方法は?


198

vvimでコマンドを使用する方法は知っていますが、行全体を削除して、同じ行を別の場所に貼り付けることができるものが必要です。

回答:


84

Shift+ vを押すと、その行全体が選択され、dと削除されます。

を使用することもできますdd。これは、ビジュアルモードを開始する必要がありません。


38
または、vvまたはddを押すこともできます。これらは、煩わしいビジュアルモードがアクティブになっていなくても同等です。
jaked122 2013

13
ddより簡単shift + v->d
Kolob Canyon '10

1
元に戻すについてはどうですか...私は自分のドキュメントを試してみて、元に戻すことができません。
Abhishek saharn

19
ペーストはどうですか?
becko

1
通常私はコメントを落としませんが、この男が貼り付ける方法を知らず、受け入れられた回答を得たという事実が私の日を作りました
クリスティアンE.

421

ddコマンドモードでは(エスケープを押した後)行を切り取り、pコマンドモードでは貼り付けます。

更新:

ボーナスのd場合、ムーブメントはそのムーブメントに相当するものをdwカットするため、単語d<down-arrow>をカットし、この行とその下の行d50wをカットし、50単語をカットします。

yyコピー行で、のように機能しddます。

D カーソルから行末までカットします。

v(ビジュアルモード)を使用した場合は、V(ビジュアルラインモード)と<ctrl>v(ビジュアルブロックモード)を試してください。


13
いい答えだ。Pコマンドモードでカーソルの前に行を貼り付けて追加します。そして、<Ctrl-R>"挿入モードでの行を貼り付けます。
Birei

13
そして]p、正しいインデントで貼り付けます。しかし、vimマニュアル全体をここに投稿しないように注意する必要があります。
DaedalusFall 2012年

16

ラインをカットする方法はいくつかあり、すべてdノーマルモードでキーによって制御されます。ビジュアルモードを使用している場合(vキー)を使用しdている場合は、カットする領域を強調表示したら、キーを押すだけです。貼り付けたい場所に移動し、貼り付けpキーを押します。

レジスターからコピー/カット/ペーストできることにも言及する価値があります。いつ、どこにテキストを貼り付けたいかわからないとします。英字で識別される最大24のレジスタにテキストを保存できます。コマンドの前に'(一重引用符)と登録文字(a〜z)を追加するだけです。たとえば、ビジュアルモード(vキー)を使用してテキストを選択し、入力してテキスト'adを切り取り、それをレジスター 'a'に格納できます。テキストを貼り付ける場所に移動したら'ap、レジスターaの内容を貼り付けるために入力します。


14

現在の行を削除してクリップボードにコピー:

d + d

クリップボードの内容を貼り付けます

(ホールド)Shift+P


12

ラインをカットしてラインのbbb下に貼り付けたいとしましょう---

前:

aaa
bbb
---

後:

aaa
---
bbb
  1. カーソルを行に置きます bbb
  2. d+を押すd
  3. カーソルを行に置きます ---
  4. 押す p

ここに画像の説明を入力してください


11
  1. 通常モードで「V」を押して行全体を選択します
  2. 次に「y」を押してコピーします
  3. 貼り付けたい場所に移動し、 'p'を押してカーソルの後ろに貼り付けるか、 'P'を押してその前に貼り付けます。

7

はい、コマンドラインでddを使用します。また、http: //www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.htmlにあるViMホットキーを使用して、有用な画像を印刷することをお勧めします


7

私が見つけた最も速い方法は、編集モードを使用することです:

  1. を押しyyて行をコピーします。
  2. 次にdd、行を削除します。
  3. 次にp、行を貼り付けます。

4

たった3つのステップ。

  1. コマンドモードで、コピーするテキストの開始位置に移動し、v
  2. テキストの終了位置に移動して、d
  3. 貼り付けたい場所に行き、p
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.