Sie könnten verwenden :exe, aber dies ist äußerst umständlich zu verwenden und Sie müssen ein paar Dinge entkommen.
Ich habe früher meine eigene Pfadfixierungsfunktion verwendet. Es sah aus wie:
exe 'set rtp+='.lh#path#fix(somevariable)
" with standard tools, may be it'd be (untested)
exe 'set rtp+='.escape(somevariable, ' \|,')
let &rtp = expression ist wirklich unser Freund.
Aber in der Tat spielt es nicht gut mit +=. Deshalb habe ich mir lh#path#munge()das ausgedacht, das auf einer anderen Funktion beruht lh#list#add_if_new(). Genau genommen set +=wird von emuliert lh#list#add_if_new(). munge()behält vorhandene Pfadnamen oder Globbing-Muster bei, die mit den Dingen übereinstimmen.
" Function: lh#path#munge(pathlist, path) {{{3
function! lh#path#munge(pathlist, path) abort
if type(a:pathlist) == type('str')
let pathlist = split(a:pathlist, ',')
return join(lh#path#munge(pathlist, a:path), ',')
else
" if filereadable(a:path) || isdirectory(a:path)
if ! empty(glob(a:path)) " support '/**' for &tags
call lh#list#push_if_new(a:pathlist, a:path)
endif
return a:pathlist
endif
endfunction
" Function: lh#list#push_if_new(list, value) {{{3
function! lh#list#push_if_new(list, value) abort
if index(a:list, a:value) < 0
call add (a:list, a:value)
endif
return a:list
endfunction
Sie werden in lh-vim-lib definiert und verwaltet .
Sie können eine Umgebungsvariable verwenden, die in Ihrer aktuellen Shell-Sitzung definiert ist.
Auf diese Weise können Sie auch andere Variablen verwenden, um den Pfad zu erstellen:
Und legen Sie den Laufzeitpfad fest:
Weitere Informationen zu Umgebungsvariablen in vim : help expr-env
quelle
let $nts | set ts=$nts
, mag es vim nicht.