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.