我似乎无法在网上的众多Vim脚本教程中找到答案.我想要做的是从环境变量构造脚本的文件名,然后来源它.我想在Vim中做到这一点.
如果我要在shell中执行它,我会做这样的事情:
source ${HOME}/.vim/myscript_${FOO}.vim
我怎么在Vim中做到这一点?
您可以构建一个字符串,然后使用execute命令:
exec "source " . $HOME . "/.vim/myscript_" . l:foo . ".vim"
(这l:foo
是在函数中使用局部变量的示例.)
编辑:
但实际上exec
在这个具体案例中是矫枉过正.正如此处显示的那样,OPs任务可以直接完成:
source $HOME/.vim/myscript_$FOO.vim
虽然Vim并不让我们整齐地包裹变量名${...}
状,我们可以在shell,在这种情况下,我们是幸运的,HOME
被终止/
并FOO
通过.
在一般情况下,exec
会如果你想追随由非终止字符的变量之一是必要的.例如:
exec "source " . $BAR . "_script.vim"
将插入BAR
变量,而以下将尝试找到一个名为的变量BAR_script
:
source $BAR_script.vim " Possibly not what you wanted!