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 icomando) 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_clipboardfunción, o se ejecuta en un terminal como Screen o sobre SSH que lo aísla del servidor ambiente X.
+o*registrarse?