Почему runtimepath в vim нельзя задать как переменную

Почему runtimepath в vim нельзя задать как переменную

Я указал .vimrcместоположение .vim.

В моемvimrc-файл, я обнаружил, что runtimepathможно установить какабсолютная величинанравится:

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

Но этоНЕ МОГУбыть установлен какпеременная, нравится:

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

Почему так? Есть ли способ сделать make 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

Связанный контент