Da ajuda :help i_ctrl-a
:
CTRL-A Insert previously inserted text. {not in Vi}
Digamos que eu tenho um buffer vazio e estou no modo normal.
Eu digito i
para entrar no modo de inserção.
Digito ()
, movo o cursor um caractere para a esquerda pressionando <C-h>
(que mapeei <left>
no modo de inserção), digito foo
e volto ao modo normal pressionando escape.
O buffer contém: (foo)
pensei, erroneamente, que o texto inserido anteriormente seria, (foo)
mas não é.
O texto inserido anteriormente é apenas o foo
que pode ser verificado digitando :registers .
ou pressionando <C-a>
novamente no modo de inserção.
Por que pressionar uma tecla de seta redefine o texto inserido anteriormente?
Existe uma maneira de fazer com que o registrador de pontos armazene todo o texto que foi inserido na última vez em que entrei no modo de inserção, mesmo pressionando uma tecla de seta?
fonte
inoremap <C-h> <C-g>U<Left>
einoremap <C-l> <C-g>U<Right>
e sua solução funciona perfeitamente! A propósito, na minha máquina Linux, eu tenho a mesma saída estranha que você para o:registers
comando, por isso não vem do Windows.<c-g>U
veio com um patch recente. Isso pode explicar por que você perdeu isso até agora.