![$PATH in Vim stimmt nicht mit Terminal überein](https://rvso.com/image/1213770/%24PATH%20in%20Vim%20stimmt%20nicht%20mit%20Terminal%20%C3%BCberein.png)
Ich verwende MacVim und wenn ich es nicht über das Terminal ( mvim
) starte, enthält sein $PATH nicht das, was ich in meinem .bash_profile festgelegt habe. Es scheint nur die Standardwerte zu haben, /usr/bin:/bin:/usr/sbin:/sbin
.
Ich verwende OS X 10.5.8. Selbst wenn ich es manuell in meiner .vimrc einstellen könnte, wäre das in Ordnung, obwohl ich es vorziehen würde, wenn es vom selben Ort wie Terminal abgerufen würde. Ich habe versucht, den Vorschlägen einer Site zu folgen, aber let $PATH += /blah/foo:/bar/etc
ohne Erfolg.
Bearbeitung/Lösung:Siehe meine Antwort unten. MacVim hat eine Option, um dies zu beheben.
Antwort1
MacVimscheint den $PATH auf eine Weise abzurufen, bei der die benutzerdefinierten Dotfiles eines normalen Benutzers ignoriert werden.
Ich kann nicht sagenWarumsie ziehen es vor, es so zu machen, aber es scheint wahr zu sein. In den Einstellungen (unter der Registerkarte „Erweitert“) können Sie „Vim-Prozesse in einer Login-Shell starten“ auswählen, aber $PATH
für mich verbessert das die Situation nur geringfügig.
Soweit ich weiß, verwendet MacVim /usr/libexec/path_helper
-, das wiederum die Elemente verwendet, die (1) in der /etc/paths
Datei gefunden wurden, und (2) alle weiteren Elemente, die im /etc/paths.d/
Verzeichnis gefunden wurden. Alle Änderungen, die im Home-Verzeichnis eines Benutzers vorgenommen werden (via .profile
oder dergleichen), werden ignoriert.
Kurz gesagt, Sie erhalten die OSX-Standardeinstellungen sowie alle Anwendungen, die sich selbst zu hinzufügen /etc/paths.d
. (Auf meinem System tut dies beispielsweise MacTex.) Wenn Sie also Ihren MacVim-Pfad anpassen möchten, können Sie beispielsweise eine Datei mit Elementen zu hinzufügen /etc/paths.d
. (Ich würde nicht direkt Änderungen vornehmen, /etc/paths
da Sie dann Gefahr laufen, dass die Änderungen durch Systemaktualisierungen rückgängig gemacht werden.)
Danke, dass Sie mich darauf aufmerksam gemacht haben. Ich werde jetzt einen Wunschlistenfehler bei MacVim melden.
Antwort2
Übrigens ist die Einstellung „Vim-Prozesse in einer Login-Shell starten“ in MacVim nicht mehr verfügbar (zumindest nicht in v7.3). Ich sehe, dass beim Starten von MacVim über den Finder der falsche Pfad angezeigt wird, beim Starten über eine Shell (als „mvim“) jedoch der richtige Pfad.
Antwort3
Es stammt nicht aus .bash_profile, aber Sie können dies in Ihrer .vimrc verwenden:
let $PATH=$PATH . ':/blah/foo'
Sie müssen das : haben, sonst ist es keine korrekte PATH-Variable.
Antwort4
MacVim wird die Quelle ~/.zprofile
und verwenden /etc/profile
, sodass Sie Ihre PATH
Einstellungen dort eingeben können.
Sehenhttps://github.com/b4winckler/macvim/wiki/Troubleshooting#for-zsh-usersUnddiese Frage auf Stack Overflow.
(Getestet mit MacVim Version 7.3 (65)).