Quero ter uma maneira rápida de definir a 'paste'
opção Vim , inserir algum texto e reverter para o valor anterior de 'paste'
.
Um caso de uso típico insere o conteúdo da área de transferência do SO literalmente, independentemente de qualquer reescrita no modo de inserção que possa estar ativa, como recuo automático e sem alterar o estado do Vim. Outro caso de uso seria permitir que um recurso de macro do SO injete pressionamentos de tecla no Vim e os interprete como texto literal.
Obviamente, isso generaliza para outras opções - a idéia geral é definir algumas opções, mas apenas pela duração de uma viagem pelo modo de inserção.
Basicamente, quero vincular uma sequência de teclas (por exemplo _i
) a uma macro que faz isso
:set paste
i…<Esc>
:set nopaste
onde, com i…<Esc>
isso, mude para o modo de inserção (como no i
comando) e retome a macro ao retornar ao modo de comando, exceto que eu quero terminar com o 'paste'
ativo ainda, se estiver ativo anteriormente. Como posso fazer isso?
Nota: O conteúdo da área de transferência do SO é mapeado para o "*
registro . Quando isso funciona, a 'paste'
opção não é muito útil. O cenário motivador para esta pergunta é para aqueles momentos em que as condições para "*
suporte ao registro não são atendidas - o Vim não é compilado com o +xterm_clipboard
recurso ou está sendo executado em um terminal como Screen ou SSH que o isola do servidor X ambiente.
+
ou*
registrar?