2011-02-04 24 views
5

初心者のvimユーザーとして、d[count]<Enter>を使用して行を削除しました。
それは、常にカウント+ 1行が削除されたことが私を奇妙に襲った。私は2行を削除したい場合は
は、私は私が最終的に理由を理解しようとする時間を取って、私が:d<count>を使用している必要があります表示されます...、3行がd2を取った、d [count]とd [count]の差

d1を入力しました。カウントは運動が続いていませんので、しかし、質問を請うん

は、なぜ、何もしない通常モードで:d1<Enter> <>d1<Enter>

答えて

11

d<count>です。おそらくd<count><Enter>に当たっていたとします。この場合、dに関連付けられた動きは<count><Enter>で、<count>行が下に移動します。 <Enter>はライン単位の動きであるため、dもライン単位で表示され、現在のラインからすべて<count>までのすべてのラインが削除されます。

実際にはのコマンドは、<count>ddです。

+0

+1正しいと思われます。ありがとうございました。 –

+1

良い説明、正常なモードで 'd1'を繰り返し試していました...' dd'について私は知りませんでした。 'd j"か 'd k ' Vimの面白いことは、常に同じ目標を達成するための複数の方法があるということです。 –

4

d{motion}は、{motion}が移動するテキストを削除します。 3<ENTER>と入力すると、カーソルが現在の行の3行下に移動するため、d3<ENTER>はその領域を削除します。

:d[count]は、単に[count]行を削除します。

{motion}countと同じではありません。

これを回避するには、visualモードを使用して削除するものを選択し、次にdを押すだけです。

+0

+1は今、完全に意味をなさない。 –