vim で複数の内部単語をヤンクする

vim で複数の内部単語をヤンクする

vimの内側と外側の単語テキストオブジェクトは、カウントと組み合わせると異なる動作をします。テキスト(カーソルは単語内にありますfirst)が与えられます。

first second third fourth

どちらもy2iw最初の単語をレジスタに格納し、y3iw/ はy4iw最初の 2 つの単語などに格納します。したがって、少なくともy7iw4 つの (内側の) 単語すべてをヤンクする必要があります。外側の単語の場合、指定されたカウントはヤンクされた単語の数に対応します。

iwこの場合、なぜ 2 つのオブジェクトが 1 つの単語に対応するのでしょうか。また、iwを と同様に動作させることはできますかaw

答え1

5 個程度のスペースを入力して、次のように実行します。5viw個程度のスペースiw\s+別の「オブジェクト」として扱われるため、選択されます。

この例では、7 つのiwオブジェクトがあります。

  • yiwfirst名前のないレジスターにヤンクします。
  • y2iwfirst名前のないレジスタに(末尾のスペースとともに)ヤンクします。
  • y3iwfirst second名前のないレジスタに(スペースを使用して)ヤンクします。
  • y4iwfirst second名前のないレジスタに(スペース付きで)ヤンクします。
  • 等々…

一方aw任意の数のスペース「オブジェクト」として。

この例では、4 つのawオブジェクトがあります。

  • yawfirst名前のないレジスタに(末尾のスペースとともに)ヤンクします。
  • y2awfirst second名前のないレジスタに(末尾のスペースとともに)ヤンクします。
  • y3awfirst second third名前のないレジスタに(末尾のスペースとともに)ヤンクします。
  • y4awfirst second third fourth名前のないレジスターにヤンクします。

iwのように動作させたい場合は、awを使用してくださいaw

関連情報