Führen Sie den Inhalt des Puffers als Vimscript aus


10

Ich habe einen nofilePuffer, der Vimscript enthält, und ich möchte ihn ausführen. Funktioniert jedoch :so % nicht, da eine gespeicherte Datei und kein Puffer erforderlich ist. Gibt es einen vim-Befehl, um dies standardmäßig zu tun? Wenn nicht, ist es möglich, eine Funktion zu erstellen, die die gleichen Aktionen ausführt?

Antworten:


13

Ja, Sie können den gesamten Puffer mit ggyGoder ziehen :%yund mit ausführen :@".

Zusamenfassend:

:%y|@"<CR>

Wird in einem Mapping verwendet:

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

Wird in einem flexiblen Befehl verwendet, der standardmäßig für den gesamten Puffer oder in einem optionalen Bereich verwendet wird:

command! -bar -range=% Foo execute <line1> . ',' . <line2> . 'y|@"'

Sie haben einen fehlenden Doppelpunkt im ersten Befehl.
Vitor

Dies verstopft auch das "Register. Ich stelle mir vor, Sie könnten ein anderes Register verwenden, wenn Sie möchten, oder Sie könnten das "Register einfach speichern und anschließend wiederherstellen.
EvergreenTree
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.