【问题标题】:Alter $PATH in vim/macvim so as to find the right ruby binary在 vim/macvim 中更改 $PATH 以找到正确的 ruby​​ 二进制文件
【发布时间】:2018-08-11 04:28:04
【问题描述】:

在尝试协调 ZSH 会话和 shell 的 vim/macvim 访问之间的环境时,来自 shell 的 which ruby 显示 $HOME/.rvm/rubies/ruby-1.9.3/bin/ruby ,这很好,而在 vim/macvim 内部,!which ruby 显示 /opt/local/bin/ruby,这很糟糕。

我认为将 RVM 的调用从 .zshrc 复制到 .zshenv 会起作用,但这样做会干扰其他实用程序。经过几天试图解决这个问题,我感到难过。任何关于在哪里可以找到解决此问题的文档的建议将不胜感激。

【问题讨论】:

  • 我很好奇将 rvm 添加到 .zshenv 时干扰了哪些实用程序。 rvm 站点上的文档建议使用 .zshenv 可以解决此问题 rvm.io/integration/vim

标签: ruby vim zsh macvim


【解决方案1】:

我不知道它是否适用于 zsh,但取决于它的启动方式,bash 会读取一些文件而不是其他文件。在我的~/.vimrc 中有这一行可以确保$PATH 在 Vim 和我的 shell 中是相同的。

set shell=bash\ -i

但这取决于你如何启动/自定义你的 shell。

参见:help 'shell'和zsh的手册。

【讨论】:

    【解决方案2】:

    这里给出的答案对我很有效:

    How to use correct ruby in vim ? How to modify $PATH in VIM?

    并且对于交互和非交互模式下不同的 $PATH 给出的解释很简单:

    https://github.com/dotphiles/dotzsh#mac-os-x

    【讨论】:

      【解决方案3】:

      也许 :$PATH=$HOME.'/.rvm/rubies/ruby-1.9.3/bin/ruby:'.$PATH 在你的 vimrc 中。可能很老套,但也许会奏效。

      【讨论】:

      • 也许吧。不过,如果我可以将 shell 环境完全导入 vim/macvim 会话,那会干净得多。
      • 刚刚试过这个。没有骰子。我在尝试获取 .vimrc 时收到了E15: Invalid expression: .rvm/rubies/ruby-1.9.3/bin/ruby:$PATH E15: Invalid expression: $HOME/.rvm/rubies/ruby-1.9.3/bin/ruby:$PATH
      • @xuinkrbin。 ; @synic 语法无效,你应该使用let $PATH=$HOME.'/.rvm/rubies/ruby-1.9.3/bin/ruby:'.$PATH
      猜你喜欢
      • 1970-01-01
      • 2014-01-23
      • 1970-01-01
      • 2015-04-16
      • 2018-06-06
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多