我最近找到了使用 Xming 从我的 WSL(Windows Subon Windows)开始的正确配置gvim.exe
,我想知道我是否可以自动执行该过程。最后,我想复制以下映射gvim.exe
与参数一起在 WSL 中触发。(要发出的简短命令是gvim +SLoad
#k::
ShellRun("C:\vim\vim80\gvim.exe", "+SLoad", "", "", 3)
return
步骤 1:让事情运转起来cmd.exe
根据调用 wsl 的指南,我应该能够正常启动 GUI 程序,通过输入-c
以下标志:
bash -c gvim
# Or, wsl does not need the flag, thus:
wsl gvim
$DISPLAY
然而,根据这两个命令,我得到类似的错误,就好像我在使用 WSL 命令行时没有设置变量一样。
第 2 步:从 WSL 检查正确的配置
根据 GUI 程序的启动位置,需要将以下行放入正确的配置文件中。对于默认bash
shell,请将其放入~/.bashrc
。对于 Fish shell,请将其放入~/.config/fish/config.fish
。
# XMing config
export DISPLAY=:0
变量的值$DISPLAY
根据 Xming 如何指定其自己的启动参数来设置。弹出添加到开始菜单的一个变量会显示设置:"C:\Program Files (x86)\Xming\Xming.exe" :0 -clipboard -multiwindow
。
问题:如何设置cmd的环境变量?
答案1
为了确保环境变量真正传递给程序,请使用:
bash -c "DISPLAY=:0 gvim"
shell 语法VARIABLE=VALUE COMMAND
仅在指定命令的持续时间内设置环境变量 VARIABLE。它大致相当于
(export VARIABLE=VALUE; exec COMMAND)
。
显示器从 0 开始编号,因此:0
第一个启动的本地显示器也是从 0 开始编号。
与所有环境变量一样,DISPLAY 会从父进程继承到子进程。但是,从 WSL 启动时,显然会出现一些问题。