¿Cuál es el punto del modo de reemplazo virtual en Vim?

9

La ayuda dice que los comandos del modo de reemplazo virtual en Vim gry GRreemplazan caracteres en el estado de la pantalla y no en el archivo.

:help Virtual-Replace-mode

Entiendo esto como algo así como cambiar los caracteres en la pantalla pero no en el búfer en sí. ¿Está bien? Parece incorrecto

Puedo usar una explicación y probablemente un escenario o un ejemplo donde esta característica es relevante.

Sri Kadimisetty
fuente

Respuestas:

9

En el modo de reemplazo virtual, el búfer está más fijo en su posición de origen.

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

Al ingresar al modo de reemplazo normal y presionar Internet<CR>And othersel nuevo búfer será así:

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

Al hacer lo mismo en Virtual-Reemplazar, el resultado será

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

Otro ejemplo (tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

Teclas presionadas: <Tab><Tab>

Resultado del modo de reemplazo:

1. 012345678901234567890
2. Hello     autiful World

Resultado del modo de reemplazo virtual:

1. 012345678901234567890
2. Hello     tiful World

Debido a que en el modo Reemplazar, el reemplazo se realiza char por char, donde Tabhay un char, sin importar cuántos caracteres se muestren. En el modo de reemplazo virtual, la longitud visible de Tab( :h 'ts', :h 'sts') se usa para reemplazar los caracteres.

krissi
fuente
(¿Se carcomieron los caracteres al formatear los comentarios, algunas cadenas citadas parecen faltar texto, para mí?). De todos modos, el último párrafo ayudó mucho. Estoy bastante seguro de que lo entiendo ahora :) ¡Muchas gracias @krissi!
Sri Kadimisetty