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 i
comando) 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_clipboard
funzione o è in esecuzione in un terminale come Screen o su SSH che lo isola dal server X ambiente.
+
o*
registrarsi?