Exécuter le contenu du tampon en tant que vimscript

10

J'ai un nofiletampon qui contient vimscript et je veux l'exécuter. Cependant, :so % ne fonctionnera pas car il nécessite un fichier enregistré, pas un tampon. Existe-t-il une commande vim pour faire cela par défaut? Sinon, est-il possible de créer une fonction qui fait les mêmes choses?

Arbre à feuilles persistantes
la source

Réponses:

13

Oui, vous pouvez extraire tout le tampon avec ggyGou :%yet l'exécuter avec :@".

En bref:

:%y|@"<CR>

Utilisé dans une cartographie:

nnoremap <key> :%y|@"<CR>

Utilisé dans une commande flexible qui fonctionne sur l'ensemble du tampon par défaut ou sur une plage facultative:

command! -bar -range=% Foo execute <line1> . ',' . <line2> . 'y|@"'
romainl
la source
vous avez un deux-points manquant dans la première commande.
Vitor
En outre, cela encombre le "registre. J'imagine que vous pouvez utiliser un autre registre si vous le souhaitez, ou vous pouvez simplement enregistrer le "registre et le restaurer par la suite.
EvergreenTree