VIM:現在の位置からスペースまで削除


172

開発中に、次のような行の途中でコードから削除したいネストされたオブジェクトに直面することがよくあります。

htmlDoc.WriteLine("<b><h3>" + this.cbAllSyncs.SelectedItem.ToString() + "</h3></b>");

削除したい部分は:

this.cbAllSyncs.SelectedItem.ToString()

単語とピリオドの数を数えて7dw、現在のカーソル位置「this」から削除するために入力できることはわかっています。ただし、私がやりたいのは、1回のコマンドで数える必要がなく、スペースまで削除する必要がないことです。これは可能ですか?

回答:


343

お試しくださいdtspace。一般にdtx、直前まで現在の位置から削除しxます。ただ、tx直前の文字にカーソルを移動しx、現在の行に。

スペースまでを含めて削除するには、を使用しますdfspace


2
これはうまくいきます!また、そのオブジェクト内の他の特定のポイントに到達するための柔軟性が追加されます。ありがとう!
Blake Blackwell、

27
df<space>次のスペースまでを削除します。
グレン・ジャックマン、2009年

5
同様に便利なdfT <space>は、前のスペースまで削除します。
hgmnz 2009年

3
直前にカウントを追加して、その数までのt文字を削除することもできます。たとえば、d2t<space>最大2つのスペースが削除されます。
Waseem、2009年

7
私はいつもニーモニックを使用しtまで」 stackoverflow.com/questions/7409134/...
ACW

71

あなたは使用することができるdWdEのように@glennあなたがスペース自体を削除したくない場合は示唆しました。

A WORD(大文字W)は、空白で区切られた非空白文字のシーケンスから成ります。

モーション」という単語を見てみましょう。


1
私が2つの回答に投票できた場合、私が質問した特定の質問が解決されるので、投票します。リンクをありがとう!
ブレイクブラックウェル

5
またはdE-非ブランク文字のシーケンスの最後まで削除します(次のブランクは含みません)
glenn jackman '22

@BlakeBlackwell誰があなたが2つの答えに投票できないと言いますか?私はこの質問についてすでにそうしました。これは便利な情報です。
javadba

20

考えられる解決策の1つは、検索で削除を使用することです。

そのためd/<space>、スペースを押すまで入力するとvimが削除されます。


2
これはdW、カーソルからのような任意の文字(2d/+この場合)を削除するためにも使用できるため、より一般的です。これにより、文字列連結も削除されます。
デイブジャービス、

1
あなたは2dWを行うことができ、これは同様に実行されます。実際、タブやその他の空白文字でも機能するので、私はそれをより良い解決策と考えています。また、削除したい末尾の空白も削除します。
barkmadley

15

WORD内のどこからでも、1つのコマンドで削除したい場合は、 daW

daw単語に限定したい場合はもちろん使用できます)

(あなたの場合)単語の最初に移動する手間を省くため、私はそれをかなり使用します


私にとって、dawとdaWは同じように動作します。どちらのカーソルを置いても、単語全体が削除されます。なぜだかわかりません。
ウィル

dawは単語の後にある空白を削除しませんが、daWは削除します
Louis

4
  • 現在の位置から特定の文字の例を削除します "

    dt」
  • カーソルが単語の最後まである位置から単語を削除する

    dw
  • カーソルが単語の上にある位置に関係なく、カーソルが置かれている単語全体を削除します。これにより、挿入モードになり、すぐに挿入できます。

    しずく

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