gpt4 book ai didi

ubuntu - Vim 没有使用 oh-my-zsh 的环境变量

转载 作者:行者123 更新时间:2023-12-04 19:02:55 27 4
gpt4 key购买 nike

背景:

Ubuntu 14.10 x64
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Oct 20 2014 16:09:34)
Patch incluse: 1-273
Last oh-my-zsh version (master)

问题:

如果我从命令行(例如终止符)运行 gVim,那么在我的 $HOME/.zshenv 中导出的环境变量已正确设置为 gVim( :echo $SOMETHINGDEFINEDINZSHENV 有效, :!echo $SOMETHINGDEFINEDINZSHENV 也有效)
如果我从 Ubuntu 图标运行 gVim,那么我的 $HOME/.zshenv 中没有定义环境变量在 gVim 中导出
我使用 chsh 将 zsh 设置为我的默认 shell , 每 echo $SHELL内外 gVim 打印 /bin/zsh我已经尝试设置 set shell=/bin/zshset shell=/bin/sh
有人对此有任何提示吗?

最佳答案

当你开始 gvim在终端中,它继承了 zsh 的环境。跑在那里。这个zsh session 从它运行的终端和您的~/.zshenv 中的设置获得了自己的环境。 .终端反过来从启动它的进程以及一些自己的设置(例如 TERM )中获取其环境。等等…

如果您开始 gvim从它的图标,它从您的窗口管理器(Unity?)继承环境,因为它是由 WM 启动的。 WM 的环境来自 X(可能还有一些自己的设置)。因为这些进程都不是(通常)由 zsh 启动的。例如,来自 ~/.zshenv 的设置永远不会加载。

如果你想为你的所有用户进程设置环境变量,你应该在 ~/.pam_environment 中进行。 (/etc/environment 适用于所有用户)。那里的变量在登录时设置,然后将被之后启动的其他进程继承,包括您的窗口管理器。 ~/pam_environment应该只是 KEY=VALUE 的列表语句(即 export 不是必需的,可能会导致错误)。

关于ubuntu - Vim 没有使用 oh-my-zsh 的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29123528/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com