Post

Vim の選択

Vim の選択

結論から

  • word は英数字とアンダースコアをひとまとまり、記号を別のまとまりとして扱う。そのため "--oneline""--oneline" に分かれる。
  • WORD は空白だけを境界として見るため、"--oneline" はひとまとまりとして扱われる。
  • i は inner。外側の空白は含めない。ただし 2iw2iW のように count を付ける場合、単語間の空白も count を 1 つ消費する。
  • a は a / around。通常は片側の空白も含める。ただし 2aw2aW のように count を付ける場合、その空白は count を消費しない。

aw “a word”

word を 1 つ選択し、片側の空白もあわせて含める。
カーソルが word の前の空白にある場合は、「空白 + 次の word」を選択する。
カーソルが word の中にある場合は、通常は「word + 後ろの空白」を選択する。

iw “inner word”

word そのものを選択する。前後の空白は含めない。
ただし、カーソルがちょうど空白上にある場合は、その空白を選択する。

aW “a WORD”

空白の扱いは aw と似ている。違いは、WORD の境界が空白だけで決まること。

iW “inner WORD”

現在カーソルがある、空白で区切られていない連続したかたまりを選択する。前後の空白は含めない。

一般的な英単語と空白の場合

" This is a pen."  
 ^ カーソル

v1aw 選択範囲は ` This v1iw 選択範囲は `
v1aW 選択範囲は ` This v1iW 選択範囲は `

v2aw 選択範囲は ` This is v2iw 選択範囲は This v2aW 選択範囲は This is v2iW 選択範囲は This`

記号は word を分けるが、WORD は分けない場合

1word "--oneline" 2word 3word 4word 
          ^ カーソル

v1aw 選択範囲は oneline
v1iw 選択範囲は oneline
v1aW 選択範囲は "--oneline"
v1iW 選択範囲は "--oneline"

v2aw 選択範囲は oneline"
v2iw 選択範囲は oneline"
v2aW 選択範囲は "--oneline" 2word
v2iW 選択範囲は "--oneline"

This post is licensed under CC BY 4.0 by the author.