从vim使用Bash命令

5
当我从vim内运行bash命令时,我发现路径是错误的。在我的.vimrc中是否有一种方法可以加载我的.bash_profile文件或者仅继承从启动它的终端继承的PATH和alias设置?
2个回答

7

如果您将shell定义为交互式的,则vim会加载您的.bashrc或.bash_profile文件。默认情况下不会加载。

可以通过以下方式实现:

:set shellcmdflag=-ic  

默认只有-c选项,:h shellcmdflag可以查看详细信息。当然你也可以在你的.vimrc文件中添加它。


太棒了!这正是我在寻找的答案。你应该得到一枚奖牌。 - isaacsloan

2
如果您已经在配置文件中正确执行了export PATH,那么Vim应该继承shell的PATH设置。您可以通过在Vim内部使用:echo $PATH来检查,并且还可以通过:let $PATH .= ':/additional/path'进行操作。
如果您还需要别名,您需要使用Kent的解决方案。请注意:通过修改'shellcmdflag',您可能会(取决于shell环境的复杂性)为每个从Vim调用的shell产生运行时惩罚。

1
每次调用shell(包括system()调用)都会产生运行时惩罚,即使没有任何配置文件(bash必须首先检查它们是否存在)。您可能会遇到显著的运行时惩罚。 - ZyX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接