Verwenden Sie die .vimrc- und .vim/-Dateien eines anderen Benutzers

Verwenden Sie die .vimrc- und .vim/-Dateien eines anderen Benutzers

Ich weiß, dass ich :source /path/to/some/.vimrcmeine Benutzer laden kann .vimrc, wenn ich als Root arbeite, aber wie kann ich auch das gesamte .vim/Verzeichnis verwenden? Gibt es eine Startoption für die Verwendung /home/user/.vim/, die ich als Alias ​​einrichten kann?

Und wo im Handbuch hätte ich diese Informationen gefunden, wenn ich gewusst hätte, wonach ich suchen muss? Ich habe die Informationen zur Verwendung des gesamten Verzeichnisses ( gilt nur für die Datei) :help .vimeinfach :help .vimrcnicht gefunden ..vim/-U.vim

Danke.

Antwort1

Verwenden Sie die UmgebungsvariableVIMINITnach rechts zeigen .vimrcundVIMRUNTIMEum auf das richtige .vimVerzeichnis zu verweisen. Sie können dies tun über env:

$> env VIMINIT=/home/user/.vimrc VIMRUNTIME=/home/user/.vim/ vim

$> VIMINIT='let $MYVIMRC = expand('\''~user'\'') . '\''/.vimrc'\''|source $MYVIMRC' vim -c 'set runtimepath=~user/.vim,/var/lib/vim/addons,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,/var/lib/vim/addons/after,~user/.vim/after'

wie immer: wenn das zu lange zum Eintippen ist, erstellen Sie eine Shell-Funktion oder einen Shell-Alias.

Um mehr darüber zu erfahren, wie vimStarts und was hinter den Kulissen passiert, lesen Sie:help initialization.

Antwort2

Es scheint, dass VIMINITund VIMRUNTIMEnicht verwendet werden, wie Akira sagte.

VIMINITwird als Ex-Befehl verwendet. Daher VIMINIT=/home/user/.vimrcwürde eine Suche versuchen, und ein Fehler wie dieser würde ausgegeben:

search hit BOTTOM, continuing at TOP
Error detected while processing VIMINIT:
E486: Pattern not found: home

VIMRUNTIMEverweist normalerweise auf den Speicherort, an dem die grundlegenden Supportdateien von Vim installiert sind, etwa /usr/share/vim/vim73. Bei einer Umleitung nach /home/user/.vim würde Vim also viele grundlegende Funktionen verlieren, es sei denn, Ihr Vim ist einfach in /home/usr/.vim installiert.


Laut :help -uund :help vimrc,-u vimrcMit dieser Option können Sie die Datei angeben .vimrc, aber die meisten anderen Initialisierungsdateien werden übersprungen, wie z. B. das System-vimrc /etc/vimrc. Wenn die angegebene vimrc-Datei fast alle Aufgaben übernimmt, ist der Mangel, wenn sie so aufgerufen wird, unbedeutend.

Nach :help runtimepath, Pfade vonruntimepathwird nach Supportdateien durchsucht, sodass wir vor dem Einbinden der vimrc-Datei mithilfe von Optionen beim Start etwas voranstellen /home/user/.vimund anhängen /home/user/.vim/afterkönnen .runtimepath--cmd

Zusammenfassend können wir diesen Alias ​​so einrichten, dass er ~/.vimrc und ~/vim verwendet:

alias vim='vim --cmd "set runtimepath^=/home/user/.vim" \
               --cmd "set runtimepath+=/home/user/.vim/after" \
               -u /home/user/.vimrc'

PS: Alternativ könnten auch zwei einfache symbolische Links für Sie funktionieren.

mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/

Antwort3

Wahrscheinlich die beste Lösung aller Zeiten.

export MYVIMRC="/xxx/.vimrc"
export VIMINIT=":set runtimepath+=/xxx/.vim|:source $MYVIMRC"

wo xxxist der benutzerdefinierte Pfad.

verwandte Informationen