オプション'selection'
Vim には 'selection' というオプションがある。
'selection' 'sel' 文字列 (既定では "inclusive") グローバル {Vi にはない} このオプションは、選択時の動作を設定する。これはVisualモードとSelect モードでのみ使用される。 設定可能な値は以下の通り。 値 行末の後 末尾に操作 ~ old X O inclusive O O exclusive O X 「行末の後」というのは、カーソルを行末より1文字後ろに置けることを表す。 「末尾に操作」というのは、選択領域の末尾の文字が操作を受けることを表す。 例えば、選択領域の削除に "x" が使われたときなどに違いが出る。
"inclusive" が「行末の後」かつ「末尾に操作」で、しかもこれがデフォルトなのはなぜだろう?
末尾の文字が選択範囲に含まれるなら、行末の後という存在しない文字の上にカーソルが移動できなくてもかまわない気がするが。
Emacs は exclusive に相当する。
[追記:2006-10-16]
わかった。「行末の後」は改行文字を表していて、改行を削除することができるのだ。
"old" だと改行の削除ができない。