【问题标题】:How to correctly set PATH in gvim?如何在 gvim 中正确设置 PATH?
【发布时间】:2014-04-11 13:29:11
【问题描述】:

当我从终端运行 vim 时,PATH 与我的终端相同。但是当我运行 gvim PATH 时读取不正确。

目前我正在使用此修复程序来启动 gvim,但感觉很脏:

bash -lc gvim

我尝试添加 vimrc 的路径:

让 PATH='/home/user/.rvm/gems/ruby-2.1.0/bin:/home/user/.rvm/gems/ruby-2.1.0@global/bin:/home/user/.rvm/rubies /ruby-2.1.0/bin:/opt/project-neon/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin :/sbin:/bin:/usr/games:/usr/local/games:/home/user/.cabal/bin:/home/user/.rvm/bin'

但它并没有像我预期的那样工作。

这也不起作用:

set shell=bash\ --login

我怎样才能在我的 vimrc 中很好地工作?

我正在使用 Ubuntu。

【问题讨论】:

  • 您应该避免使用这么长的PATH。我建议将$HOME/bin/ 添加到您的PATH 并在那里放置符号链接。你应该在你的.bashrc 中设置你的PATH ...
  • 我已经在 bashrc 中设置了 PATH 但它不起作用。出于某种原因,只有命令 bash -lc gvim 有效...
  • 您可能需要在更改$HOME/.bashrc 后注销并重新登录,您应该检查一下,例如在终端中使用echo $PATH,您的PATH 就是您想要的。我猜你的问题实际上与vim 无关!
  • 我的意思是 PATH 和 bashrc 可以在终端上正常工作,但不能在 vim 上工作,除非我使用该命令。我的 PATH 在其他任何地方都可以正常工作。它与 vim 相关,我看到了类似问题的问题,但在 OSX 上,但没有解决问题。
  • 配置良好的vim 不要更改它在启动时继承的PATH

标签: linux bash vim


【解决方案1】:

您不会从 Vim 更改您的 PATH。它继承自启动 Vim 的进程,并且在 Vim 之外,您必须解决您的问题。

顺便说一句,你没有告诉我们你如何以及在哪里设置PATH,什么桌面环境(如果有的话),甚至你在 GVim 中获得了什么价值。

-- 编辑--

当你从命令行启动 GVim 时,它会继承你的 shell 的环境变量,你应该得到与 $ gvim 相同的 $PATH$ vim

当您从菜单或图标启动 GVim 时,它会继承桌面环境的 PATH,无论您的 shell 的 PATH 如何定义,因此 :echo $PATH 的输出与您在我的 shell 中应该得到的不同。

在我看来,让 GVim 尊重您的自定义 PATH 的最有效方法是简单地将其 gvim.desktop 文件中的 Exec 行更改为:

Exec=gvim -f %F

到:

Exec=env PATH=/your/complete/path gvim -f %F

【讨论】:

  • 显然你可以用let $PATH,我错过了$。我得到了我的常规环境,但不是我的用户。我在 Ubuntu 上。发现有人发布了我目前正在使用的解决方案,但我想知道是否可以在 vimrc 中修复,而无需修改我的启动器。 notgeeklycorrect.com/2011/02/08/….
  • 即使您可以在内部或从vim 更改您的PATH,您也不应该这样做。
【解决方案2】:

我知道这已经回答了,但以下内容可能对其他人有所帮助:

如果您在~/.profile 中设置了 PATH,那么 gvim 将从登录的会话中获取它 - 无需使用显式路径修改 gvim.desktop 文件。 (但您确实需要重新登录才能生效)。

更多信息请参见Ubuntu Session-wide environment variables

【讨论】:

    【解决方案3】:

    我试过了:

    let $PATH .=':/path/to/bin:/path/to/another/bin'
    

    然后它开始正常工作。我试图为 vim 设置 vim-go(golang 支持)。自从 vim-go 抱怨 go 可执行文件不在路径中以来,我一直遇到问题。这是 vim-gtk 的问题。在我在 .vimrc 文件中设置上述配置后,问题得到解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-23
      • 2014-08-05
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多