為什麼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

正如羅曼所說,你有: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

相關內容