Vim中的$ PATH与终端不匹配

Modified on: Thu, 30 Aug 2018 08:20:03 +0800

我正在使用MacVim,当我不从终端(mvim)启动它时,它的$ PATH不包括我在.bash_profile中设置的内容。它似乎只有默认值/usr/bin:/bin:/usr/sbin:/sbin

我正在运行OS X 10.5.8。即使我可以在我的.vimrc中手动设置它也没问题,但我更喜欢它从终端拉到同一个地方。我试过按照一个网站的建议,添加let $PATH += /blah/foo:/bar/etc无济于事。

编辑/解决方案:请参阅下面的答案。 MacVim有一个选项来解决这个问题。

作者:,donut

最佳答案

MacVim似乎以忽略常规用户自定义的方式获取$ PATH点文件。

我不能说为什么他们更喜欢这样做,但它似乎是真的。在首选项中(在“高级”选项卡下),您可以选择“在登录shell中启动Vim进程”,但它仅为我略微改进了$PATH

我能说的最好,MacVim使用/usr/libexec/path_helper - 它反过来使用/etc/paths文件中找到的项目(1)和(2)在/etc/paths.d/目录中找到的任何附加内容。在用户的主目录中进行的任何更改(通过.profile等)都将被忽略。

简而言之,您将获得OSX默认值,以及将自己添加到/etc/paths.d的所有应用程序。 (例如,MacTex在我的系统上这样做。)因此,如果您想调整MacVim路径,一种方法是将带有项目的文件添加到/etc/paths.d。 (我不会直接编辑/etc/paths,因为那时你冒着系统更新撤消更改的风险。)

感谢您让我知道这一点。我要在MacVim上提交一份愿望清单错误。

作者:,Telemachus

相关问答

添加新评论