Warum der Runtimepath in Vim nicht als Variable festgelegt werden kann

Warum der Runtimepath in Vim nicht als Variable festgelegt werden kann

Ich habe den Ort .vimrcund .vimdie Adresse angegeben.

In meinemvimrc-Datei, fand ich die runtimepathkann eingestellt werden alsAbsolutwertLikes:

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

Aber esKANN NICHTeingestellt werden alsVariable, Likes:

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

Warum ist das so? Gibt es eine Möglichkeit, make runtimepathals Variable festzulegen?

Antwort1

Wie romainl sagte, haben Sie :let &option. Aber in Ihrem Fall, da Sie einen Pfad zu einer Liste von Pfaden hinzufügen möchten, wäre es:

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

Dadurch wird der Pfad nur hinzugefügt, wenn er noch nicht in &rtp vorhanden ist.

Oder (beachten Sie die Verwendung des .=Operators anstelle von „ +=eins“)

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

Wenn es dieses Mal jedoch bereits in Ihrem &rtp vorhanden ist, wird es erneut hinzugefügt. Verwenden Sie in Ihrem speziellen Fall daher lieber :execute+ .:set

Antwort2

Sie haben zwei Möglichkeiten:

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

verwandte Informationen