Quel est l'intérêt du mode de remplacement virtuel dans Vim?

9

L'aide indique que les commandes du mode de remplacement virtuel dans Vim gret GRremplacent les caractères dans la zone d'écran et non dans le fichier.

:help Virtual-Replace-mode

Je comprends cela comme quelque chose comme changer les caractères sur l'affichage mais pas dans le tampon lui-même. Est-ce correct? Cela semble incorrect.

Je peux utiliser une explication et probablement un scénario ou un exemple où cette fonctionnalité est pertinente.

Sri Kadimisetty
la source

Réponses:

9

En mode de remplacement virtuel, le tampon est plus difficile à fixer à sa position d'origine.

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

Lorsque vous entrez en mode de remplacement normal et que vous atteignez Internet<CR>And othersle nouveau tampon, cela sera comme ceci:

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

En faisant de même dans Virtual-Replace, le résultat sera

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

Un autre exemple (tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

Touches enfoncées: <Tab><Tab>

Résultat du mode de remplacement:

1. 012345678901234567890
2. Hello     autiful World

Résultat du mode de remplacement virtuel:

1. 012345678901234567890
2. Hello     tiful World

Parce qu'en mode Remplacer, le remplacement se fait caractère par caractère, où se Tabtrouve un caractère, quel que soit le nombre de caractères affichés. En mode Virtual-Replace-Mode, la longueur visible de Tab( :h 'ts', :h 'sts') est utilisée pour remplacer les caractères.

krissi
la source
(Certains caractères ont-ils été mangés par la mise en forme des commentaires, certaines chaînes citées semblent manquer de texte, pour moi). Quoi qu'il en soit, le dernier paragraphe a beaucoup aidé. Je suis presque sûr de l'avoir maintenant :) Merci beaucoup @krissi!
Sri Kadimisetty,