Por que o runtimepath no vim não pode ser definido como uma variável

Por que o runtimepath no vim não pode ser definido como uma variável

Eu especifiquei o local .vimrce .vim.

No meuarquivo vimrc, descobri que runtimepathpode ser definido como umvalor absolutogosta:

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

Mas issoNÃO PODEser definido como umvariável, gosta:

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

Por que isso? Existe alguma maneira de o make runtimepathser definido como variável?

Responder1

Como Romainl disse, você tem :let &option. Mas no seu caso, como você deseja adicionar um caminho a uma lista de caminhos, seria:

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

Isso só adicionará o caminho se ele ainda não estiver presente em &rtp.

Ou (observe o uso do .=operador em vez daquele +=)

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

Porém, desta vez, se já estiver presente em seu &rtp, será adicionado novamente. Como tal, prefira usar :execute+ :setno seu caso específico.

Responder2

Você tem duas opções:

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

informação relacionada