2016-04-24 6 views
0

Ich versuche path dynamisch relativ zu einem Verzeichnis, das von einem Skript zurückgegeben zu setzen:Erweiterung vim Variablen im Set Befehl

Ich erhalte die Variablen richtig, aber ich bin zu machen, sie stecken erweitern auf der Punkt, an dem ich versuche, sie an path voranzustellen.

Könnten Sie bitte helfen? (Irgendwelche Kommentare, wie dies besser gemacht werden könnte, sind willkommen - ich kenne vimscript nicht sehr gut).

function! FindRoot() 
    let root=system('fs_findRoot |tr -d "\n"') 
    if !empty(root) 
    let src1=root.'/src1' 
    let pr_r=root.'/pr/HEAD/r/nat' 
    let pr_d=root.'/pr/HEAD/d/nat' 
    echom src1 pr_r pr_d 
    set path^=pr_r 
    set path^=pr_d 
    set path^=src1 
    endif 
endfunction 

Antwort

1

Sie können einen Ausdruck als Wert für jede Option :set verwenden.

Sie müssen :let dafür verwenden:

let &path = pr_r . "," . pr_d . "," . src1 . "," . &path 

:help :let-& See.