为什么vim中的runtimepath不能设置为变量

为什么vim中的runtimepath不能设置为变量

我已经指定了.vimrc.vim位置。

在我的vimrc 文件,我发现runtimepath可以设置为绝对值喜欢:

set rtp+=~/.marslo/.vim/bundle/vundle

但它不能被设置为多变的,喜欢:

let vudpath = expand(~/.marslo/.vim/bundle/vundle)
set rtp+=vudpath

这是为什么?有什么方法可以将其runtimepath设置为变量吗?

答案1

正如 romainl 所说,您有:let &option。但就您而言,由于您想将路径添加到路径列表中,因此它将是:

exe 'set rtp+=' . expand('~/.marslo/.vim/bundle/vundle')

如果路径尚未出现在 &rtp 中,则仅添加该路径。

或者(注意使用运算符.=而不是运算+=符)

let &rtp .= ','.expand('~/.marslo/.vim/bundle/vundle')

但是这次如果它已经存在于您的 &rtp 中,它将被再次添加。因此,最好在特定情况下使用:execute+ 。:set

答案2

您有两个选择:

execute "set option=" . expression
let &option = expression

相关内容