カーソル位置から始まるVIMの行をすばやく削除するにはどうすればよいですか?


267

VIMのカーソル位置から始めて、残りの行を削除できるようにしたいのですが。これを行う簡単なコマンドはありますか?

説明のために、これはコマンドの前です。

The quick brown dog jumps over the lazy fox.
     ^
     |----- Cursor is here.

これはコマンドの後です

The q
     ^
     |----- Cursor is here.

回答:


430

(コメンターの優れた追加を含むように編集:)

Dまたは同等のものd$は、行の残りを削除し、コマンドモードのままにします。Cまたはc$、行の残りを削除して挿入モードにし、新しいテキストを行に追加します。

これはの一部であるvitutorvimtutor、優れたvimの初心者のための「読み」。


1
ブラスト、私はそれが何か簡単なことだと思っていましたd。ここに質問を投稿したり、マニュアルを読む前にオンラインで検索することをデフォルトにした他の人々に利益をもたらす方が早いと思いました。
アンソニー

2
またはC、指定された位置にカーソルを移動するための唯一の「実際の」方法ですが、挿入モードになります。
Walter、

1
@Anthony:には、「d何かが続く」というコマンドもDあり、「何か」は$モーションですd$
ib。

2
最終的に挿入モードにしたい場合は、C(またはc$)を使用してください
Benoit

7
この解決策はすでに解決されていることを理解していますが、VIMで行全体を削除する方法を探していたところ、これを見つけました。私が探していたオプションはdd、コマンドモードからのものでした。これが他の人とつまずくのを助けることを願っています。
フリト14


21

あなたも興味があるかもしれませんC、それはまたのように行末を削除しDますが、さらにカーソル位置で挿入モードになります。




5

これは非常に古い質問ですが、VIMはまだ関連があるため、何かを明確にする必要があります。

2018年10月現在、ここでのすべての回答とコメントは、一般に「カット」アクションと呼ばれるものを参照しているため、これらのいずれかを使用すると、現在VIMの名前ないレジスターにあるものはすべて置き換えられます。このレジスタはデフォルトのコピー/貼り付けクリップボードのように扱われる傾向があるため、削除したものは後で貼り付けられるため、行の残りを削除して後で同じ場所に何かを貼り付ける場合、これらの答えはどれも期待どおりに機能しません。以前にヤンクされたものの代わりに。

OPのコンテキストでの真の削除コマンドは"_D(または"_C挿入モードが必要な場合)です。これにより、削除されたコンテンツがで指定されたブラックホールレジスタに送信され"_ますu

つまり、最後にヤンクされたものはすべて0レジスタに格納され、名前のないレジスタで置き換えられても、を使用して貼り付けることができ"0pます。

ブラックホールレジスターとVIMをさらに楽しむための一般的なレジスターの詳細をご覧ください!


4

Dまたはdd、行を削除してレジスタにコピーします。あなたは使用することができますVxのみ、通常モードでのラインと滞在を削除しています。

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