Leiten Sie das Vimfiles-Verzeichnis von der Laufzeitoption ab

418
Kyle Strand

Ich möchte eine $VIMFILESVariable in meiner vimrcDatei festlegen, um den Dateipfad meines vimfilesVerzeichnisses auf eine nicht plattformspezifische Weise zu bestimmen (a la Wie erhalte ich ein Vim-Home-Verzeichnis? ). Dies sollte trivial sein (in der Tat denke ich, dass es eine eingebaute Variable sein sollte), aber ich kann keine robuste Methode dafür finden. Die Methode, die ein Plugin verwendet, erfordert, dass Sie den Code, der diese Variable verwendet, in Ihrem afterVerzeichnis ablegen, was das Plugin (meiner Meinung nach) fast unbrauchbar macht. Die Methode, mit if hasder das Betriebssystem ermittelt und die Variable manuell festgelegt wird, erscheint unsinnig fragil und langweilig.

Ich möchte also einfach davon ausgehen, dass die erste Komponente des Standardwerts der runtimepathOption das vimfilesVerzeichnis ist, das ich möchte.

Ich habe jedoch keine Ahnung, wie man die erste Komponente extrahiert rtp. Dies scheint wiederum trivial zu sein, erstreckt sich aber &rtp[0]auf den ersten Buchstaben des Laufzeitpfads, da es sich offensichtlich &rtpum eine Zeichenfolge handelt, auch wenn es sich eindeutig um eine Liste (!!?) Handelt .

Also ... wie bekomme ich die erste Komponente des Laufzeitpfads? Gibt es einen besseren Weg, dies zu tun?

0
Welches Problem versuchen Sie aus Neugier zu lösen? romainl vor 10 Jahren 0
Ich verwende die Variable "$ VIMFILES", um sowohl "rtp" als auch "path" für Vundle einzurichten und "undodir" für das dauerhafte Rückgängigmachen festzulegen. Ohne eine solche Variable würde ich in beiden Teilen meines Vim-Setups eine Vimfile-Verzeichnisfindelogik benötigen. Kyle Strand vor 10 Jahren 0

1 Antwort auf die Frage

0
Kyle Strand

Ich glaube ich habe es verstanden:

set rtp& let $VIMFILES=split(&rtp,",")[0] 

Es wirkt zwar immer noch zu manuell, aber es ist nicht so hässlich, wie ich befürchtet habe.