Quiero tener una forma rápida de configurar la 'paste'
opción Vim , insertar texto y volver al valor anterior de 'paste'
.
Un caso de uso típico inserta el contenido del portapapeles del sistema operativo literalmente, independientemente de cualquier reescritura del modo de inserción que pueda estar activa, como la sangría automática, y sin cambiar el estado de Vim. Otro caso de uso sería permitir que una función de macro del sistema operativo inyecte pulsaciones de teclas en Vim y las interprete como texto literal.
Obviamente, esto se generaliza a otras opciones: la idea general es establecer algunas opciones, pero solo durante la duración de un viaje a través del modo de inserción.
Básicamente quiero vincular una secuencia de teclas (por ejemplo _i
) a una macro que hace esto
:set paste
i…<Esc>
:set nopaste
donde i…<Esc>
quiero decir cambiar al modo de inserción (como con el i
comando) y reanudar la macro al regresar al modo de comando, excepto que quiero terminar con el 'paste'
todavía activo si estaba activo de antemano. ¿Cómo puedo hacer esto?
Nota: El contenido del portapapeles del sistema operativo se asigna al "*
registro . Cuando eso funciona, la 'paste'
opción no es muy útil. El escenario motivador para esta pregunta es para aquellos momentos en que "*
no se cumplen las condiciones para el soporte de registro: Vim no se compila con la +xterm_clipboard
función, o se ejecuta en un terminal como Screen o sobre SSH que lo aísla del servidor ambiente X.
+
o*
registrarse?