【发布时间】:2013-01-28 06:29:29
【问题描述】:
当我从 vim 内部运行 bash 命令时,我注意到路径全错了。我的 .vimrc 内部有没有办法让它加载我的 .bash_profile 或者只是从它启动的终端继承 PATH 和别名设置?
【问题讨论】:
当我从 vim 内部运行 bash 命令时,我注意到路径全错了。我的 .vimrc 内部有没有办法让它加载我的 .bash_profile 或者只是从它启动的终端继承 PATH 和别名设置?
【问题讨论】:
如果您将 shell 定义为交互式,vim 将加载您的 .bashrc 或 .bash_profile。默认不加载。
这可以通过以下方式完成:
:set shellcmdflag=-ic
默认只有-c、:h shellcmdflag 以查看详细信息。当然你可以将它添加到你的 .vimrc 文件中。
【讨论】:
如果您在配置文件中正确完成了export PATH,Vim 应该继承shell 的PATH 设置。你可以在 Vim 内部通过:echo $PATH 进行检查,也可以通过:let $PATH .= ':/additional/path' 进行操作。
如果您还需要别名,则必须使用 Kent 的解决方案。提醒一句:通过对'shellcmdflag' 的这种修改,您可能(取决于您的 shell 环境的复杂性)为 Vim 中的 每个 shell 调用招致运行时损失。
【讨论】:
system() 调用)招致运行时惩罚,即使没有任何配置文件(bash 必须首先检查它们是否存在) .您只会可能招致显着运行时惩罚。