Qual é o ponto do modo de substituição virtual no Vim?

9

A ajuda diz que comandos do modo de substituição virtual no Vim gr & GR substitui caracteres na propriedade da tela e não no arquivo.

:help Virtual-Replace-mode

Estou entendendo isso como algo como alterar os caracteres na tela, mas não no buffer em si. Isso esta certo? Parece incorreto.

Posso usar uma explicação e provavelmente um cenário ou um exemplo em que esse recurso seja relevante.

    
por sri 24.05.2013 / 12:17

1 resposta

9

No Virtual-Replace-Mode, o Buffer é mais fixo em sua posição de origem.

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

Ao entrar no modo de substituição normal e atingir Internet<CR>And others , o novo buffer será assim:

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

Ao fazer o mesmo em Virtual-Replace, o resultado será

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

Outro exemplo (tabstop = 2; sts = 0):

1. 012345678901234567890
2. Hello beautiful World
         ^ Cursor

Teclas pressionadas: <Tab><Tab>

Resultado do modo de substituição:

1. 012345678901234567890
2. Hello     autiful World

Resultado do Virtual-Replace-Mode:

1. 012345678901234567890
2. Hello     tiful World

Como no modo Substituir, a substituição é feita por caractere, onde Tab é um caractere, não importa quantos caracteres sejam exibidos. Em Virtual-Replace-Mode, o comprimento visível do Tab ( :h 'ts' , :h 'sts' ) é usado para substituir os caracteres.

    
por 24.05.2013 / 12:59

Tags