我的 中有一部分~/.bashrc
将 $EDITOR 设置为 gvim。当我在 X 窗口中时,它工作正常。但是,如果我 ssh 到我的工作站(从另一个工作站),gvim 开始抱怨“无法打开显示”。
因此我希望if
在 bashrc 中添加一条语句,如果 X 窗口可用,则使用 gvim,否则就使用 vim。
我怎样才能实现这个目标?
答案1
执行此操作的一种方法是测试 DISPLAY 环境变量是否存在:
if [ "$DISPLAY" ]
then
EDITOR=gvim
else
EDITOR=vim
fi
在某些情况下,即使 gvim 无法连接 X 服务器,也会设置 DISPLAY。在这些情况下,请使用跑步X程序:
if RunningX
then
EDITOR=gvim
else
EDITOR=vim
fi
答案2
如果您在 X 中,则应该将环境$DISPLAY
变量设置为某个值,如果您未连接到显示器,则应取消设置。
因此你可以使用这个:
if [ -n "$DISPLAY" ]; then
alias vim='gvim'
else
alias vim='vim'
fi
但还有另一种解决方案。它被称为 ssh X 转发。
跑步
ssh -X yourworkstation
然后你就可以在通过 ssh 进入的机器上运行 vim,它将显示在你运行 X 的机器上。
答案3
将其放入你的 .bashrc 中:
if [ -z "${DISPLAY:-}" ]; then
EDITOR='vim'
else
EDITOR='gvim'
fi
答案4
只需检查 Xorg 在启动时设置的环境变量之一,例如包含有关当前 X11 会话的信息的 XLOCAL。