在运行带有“!”的命令时,如何使vim使用与登录shell相同的环境?

我使用!ls来执行bash命令.但是在我在〜/ .profile文件中配置了source~ / .usr_profile这样的东西之后,vim也不会提供这个文件.因此,当我想执行usr_profile中声明的函数时,我必须运行:!source~ / .usr_profile&& my_command.当我使用这一次或两次时,没关系.但是当经常使用它时,我的vimrc会变得混乱.
有没有更好的方法来解决这个问题.谢谢
将此行添加到〜/ .vimrc应解决您的直接问题:
set shell=bash\ -l

当使用-l( – login)调用时,bash会在启动时读取你的〜/ .profile(以及其他文件),因此从那里获取所有内容.

当使用-i(–interactive)调用时,bash会在启动时读取你的〜/ .bashrc(以及其他文件),因此从那里获取所有内容.

尝试$man bash或:h shell和:h shellcmdflag获取更多信息.

至于登录和非登录shell之间的区别,我必须承认我的无知.无论如何,This answer on serverfault可能会有所帮助,这很有趣.

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...