在vim中,我可以通过设置env vars
:let $MyVar = 1
echom $MyVar
后, 1
将打印$MyVar
。
有没有办法从环境中删除该变量?
答案 0 :(得分:1)
它还不可能。我已就此问题提出了一个问题:https://github.com/vim/vim/issues/1116
在平均时间而不是取消设置环境变量时,我将它们设置在非常狭窄的范围内:当我致电system()
或致电job_start()
时。
为了简化我的工作流程,我会模仿某种project environment variables。简而言之,那些环境变量只存在于某些缓冲区中,然后当我调用lh#os#system()
时,我会动态注入这些变量。
注意:您不需要使用p:$VARIABLES
,lh#os#system()
也可以通过其第二个和可选参数接收环境变量,例如:
let r = lh#os#system('make foo', {'CXXFLAGS': 'std=c++14, 'CXX': 'clang++'})
在幕后,我创建了一个临时文件,在执行请求的命令之前,我根据需要填充了export var=expr
行。{/ p>