Search code examples
rubyvimzshmacvim

Alter $PATH in vim/macvim so as to find the right ruby binary


In trying to harmonize environments between a ZSH session and the vim/macvim access of the shell, a which ruby from the shell shows $HOME/.rvm/rubies/ruby-1.9.3/bin/ruby, which is good, while from inside vim/macvim a !which ruby shows /opt/local/bin/ruby, which is bad.

I thought copying the invocation of RVM from .zshrc to .zshenv would work but doing so interferes with other utilities. After several days trying to sort this out, I feel stumped. Any suggestions of where documentation to resolve this can be found would be most appreciated.


Solution

  • I don't know if it applies to zsh but depending on how it's started, bash reads some files and not others. Having this line in my ~/.vimrc ensures that $PATH is the same in Vim and in my shell.

    set shell=bash\ -i
    

    But it depends on how you start/customize your shell.

    See :help 'shell' and zsh's manual.