można zbudować ciąg, a następnie użyć wykonać polecenie:
exec "source " . $HOME . "/.vim/myscript_" . l:foo . ".vim"
(l:foo
tutaj jest przykład użycia zmiennej lokalnej od wewnątrz funkcji.)
Edytuj:
Ale w rzeczywistości exec
jest przesadę w tym konkretnym przypadku. Jak Rampion shows here, zadaniem PO może odbywać się bezpośrednio z:
source $HOME/.vim/myscript_$FOO.vim
Chociaż vim nie pozwala nam owinąć nazwy zmiennych zgrabnie w ${...}
jak mogliśmy w powłoce, w tym przypadku mamy szczęście, że HOME
jest zakończony przez /
i FOO
przez .
w ogóle, exec
byłoby być potrzebne, jeśli chcesz śledzić jednej ze zmiennych przez non-kończącego znaku. Na przykład:
exec "source " . $BAR . "_script.vim"
by wstawić zmienną BAR
, natomiast dodaje byłoby spróbować znaleźć zmienną o nazwie BAR_script
:
source $BAR_script.vim " Possibly not what you wanted!
Bardzo ładne, dzięki! –