Vimの仮想交換モードのポイントは何ですか?

Vimの仮想交換モードのポイントは何ですか?

ヘルプは、Vim gr&の仮想代替モードコマンドがファイルでGRはなく画面スペースの文字を置き換えると説明しています。

:help Virtual-Replace-mode

バッファ自体の文字を変更するのではなく、ディスプレイの文字を変更するのと同じだと理解しています。そうなんですか?これは間違っているようです。

説明を使用するか、この機能に関連するシナリオまたは例を使用できます。

答え1

仮想交換モードでは、バッファを元の位置に固定するのがより困難です。

1. Hello World
         ^ Cursor
2. I like cheese
3. And beer

通常の交換モードに入り、新しいバッファに到達すると、Internet<CR>And others次のようになります。

1. Hello Internet
2. And others
3. I like cheese
4. And beer

Virtual-Replaceで同じことを行うと、結果は次のようになります。

1. Hello Internet
2. And othersese
3. And beer

別の例(tabstop=2;sts=0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

押したキー:<Tab><Tab>

置換パターンの結果:

1. 012345678901234567890
2. Hello     autiful World

仮想交換モードの結果:

1. 012345678901234567890
2. Hello     tiful World

交換モードでは1文字ずつ交換が完了するため、いくら多くのTab文字が表示されても1文字だけ存在するようになります。仮想置換モードでは、Tab:h 'ts':h 'sts')の可視長が代替文字として使用されます。

関連情報