Voglio avere un modo rapido di impostare l' 'paste'opzione Vim , inserire del testo e ripristinare il valore precedente di 'paste'.
Un tipico caso d'uso inserisce letteralmente il contenuto degli Appunti del sistema operativo, indipendentemente da qualsiasi riscrittura della modalità di inserimento che può essere attiva, come il rientro automatico, e senza cambiare lo stato di Vim. Un altro caso d'uso sarebbe quello di consentire a una funzione di macro del sistema operativo di inserire sequenze di tasti in Vim e di interpretarle come testo letterale.
Questo ovviamente si generalizza ad altre opzioni: l'idea generale è di impostare alcune opzioni, ma solo per la durata di un viaggio attraverso la modalità di inserimento.
Fondamentalmente voglio associare una sequenza di tasti (diciamo _i) a una macro che fa questo
:set paste
i…<Esc>
:set nopaste
dove i…<Esc>intendo passare alla modalità di inserimento (come con il icomando) e riprendere la macro al ritorno alla modalità di comando, tranne per il fatto che voglio finire con 'paste'ancora attivo se era attivo in precedenza. Come posso fare questo?
Nota: il contenuto degli Appunti del SO è mappato al "*registro . Quando funziona, l' 'paste'opzione non è molto utile. Lo scenario motivante per questa domanda è per quei momenti in cui le condizioni per il "*supporto del registro non sono soddisfatte: Vim non è compilato con la +xterm_clipboardfunzione o è in esecuzione in un terminale come Screen o su SSH che lo isola dal server X ambiente.
+o*registrarsi?