Wykonaj zawartość bufora jako vimscript


10

Mam nofilebufor, który zawiera vimscript i chcę go uruchomić. Jednak :so % nie będzie działać, ponieważ wymaga zapisanego pliku, a nie bufora. Czy jest domyślnie polecenie vim? Jeśli nie, to czy można stworzyć funkcję, która robi te same rzeczy?

Odpowiedzi:


13

Tak, możesz przeciągnąć cały bufor za pomocą ggyGlub :%yi wykonać go za pomocą :@".

W skrócie:

:%y|@"<CR>

Używane w mapowaniu:

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

Używany w elastycznym poleceniu, które domyślnie działa na całym buforze lub w opcjonalnym zakresie:

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

w pierwszym poleceniu brakuje dwukropka.
Vitor

Spowoduje to również zatarcie "rejestru. Wyobrażam sobie, że możesz użyć innego rejestru, jeśli chcesz, lub możesz po prostu zapisać "rejestr i przywrócić go później.
EvergreenTree
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.