Je veux avoir un moyen rapide de définir l' 'paste'
option Vim , d'insérer du texte et de revenir à la valeur précédente de 'paste'
.
Un cas d'utilisation typique insère littéralement le contenu du presse-papiers du système d'exploitation, quelle que soit la réécriture du mode d'insertion qui peut être active, comme l'indentation automatique, et sans changer l'état de Vim. Un autre cas d'utilisation serait de permettre à une fonction de macro du système d'exploitation d'injecter des touches dans Vim et de les faire interpréter comme du texte littéral.
Cela se généralise évidemment à d'autres options - l'idée générale est de définir certaines options mais uniquement pour la durée d'un trajet en mode insertion.
Fondamentalement, je veux lier une séquence de touches (disons _i
) à une macro qui fait cela
:set paste
i…<Esc>
:set nopaste
où i…<Esc>
je veux dire passer en mode insertion (comme avec la i
commande) et reprendre la macro au retour en mode commande, sauf que je veux finir avec le 'paste'
toujours actif s'il était actif auparavant. Comment puis-je faire ceci?
Remarque: Le contenu du presse-papiers du système d'exploitation est mappé sur le "*
registre . Lorsque cela fonctionne, l' 'paste'
option n'est pas très utile. Le scénario motivant pour cette question est pour les moments où les conditions de "*
prise en charge de l'enregistrement ne sont pas remplies - Vim n'est pas compilé avec la +xterm_clipboard
fonctionnalité, ou il s'exécute dans un terminal tel que Screen ou sur SSH qui l'isole du serveur X ambiant.
+
ou de vous*
inscrire?