Qual è il punto della modalità di sostituzione virtuale in Vim?


9

La guida dice che la modalità di sostituzione virtuale comanda in Vim gre GRsostituisce i caratteri nella schermata e non nel file.

:help Virtual-Replace-mode

Lo capisco come qualcosa come cambiare i caratteri sul display ma non nel buffer stesso. È giusto? Sembra errato

Posso usare una spiegazione e probabilmente uno scenario o un esempio in cui questa funzionalità è rilevante.

Risposte:


9

In Virtual-Replace-Mode il Buffer è più difficile da fissare alla sua posizione di origine.

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

Quando si entra nella normale modalità di sostituzione e si colpisce Internet<CR>And othersil nuovo buffer sarà così:

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

Quando si fa lo stesso in Virtual-Replace il risultato sarà

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

Un altro esempio (tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

Tasti premuti: <Tab><Tab>

Risultato della modalità di sostituzione:

1. 012345678901234567890
2. Hello     autiful World

Risultato modalità di sostituzione virtuale:

1. 012345678901234567890
2. Hello     tiful World

Perché in modalità Sostituisci la sostituzione viene eseguita con caratteri char, dove Tabè presente un carattere, indipendentemente dal numero di caratteri visualizzati. In Virtual-Replace-Mode la lunghezza visibile di Tab( :h 'ts', :h 'sts') viene utilizzata per sostituire i caratteri.


(I personaggi sono stati divorati dalla formattazione dei commenti, per me alcune stringhe tra virgolette sembrano mancare al testo). Comunque, l'ultimo paragrafo ha aiutato molto. Sono abbastanza sicuro di averlo ora :) Grazie mille @krissi!
Sri Kadimisetty,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.