【问题标题】:How Can I Get MinTTY (Cygwin Terminal) to Open gvim in a New Window?如何让 MinTTY(Cygwin 终端)在新窗口中打开 gvim?
【发布时间】:2018-04-28 10:24:38
【问题描述】:

我已经安装了 mintty。之后我无法打开 gvim。正如我在使用 emacs 的同一个问题中所建议的那样: 1) mintty gvim

这将打开一个带有消息的新窗口:

E233: 无法打开显示E852: 子进程无法启动 GUI 按 ENTER 或输入命令继续

我也设置了:export DISPLAY=":0"

我做错了什么

【问题讨论】:

    标签: vim cygwin


    【解决方案1】:

    您可能没有运行 X 服务器。查看here 以获取有关设置的说明。就个人而言,我发现卸载 cygwin 版本的 gvim 并改用 windows 版本更容易。

    【讨论】:

    • 非常感谢卡尔。请让我知道如何使用来自 Cygwin 的 Windows 版本的 gvim。此外,我现在从退出选项关闭了 X 终端,我收到如下错误消息:startxwin:另一个 X 服务器实例正在 DISPLAY 上运行:0:资源暂时不可用
    【解决方案2】:

    我在启动 gvim 时遇到了同样的问题,并且收到了如上的错误消息。

    我的默认显示设置是:0.0

    但是,我注意到在我的 startxwin 的输出中,它说

    """ 规则=“基础”模型=“pc105”布局=“我们”变体=“无”选项=“无” winMultiWindowXMsgProc - 显示=:2.0 winInitMultiWindowWM - 显示=:2.0 winProcEstablishConnection - winInitClipboard 返回。 """

    我将显示设置为 :2.0,它现在可以工作了。 IE 导出 DISPLAY=:2.0

    希望这会有所帮助。

    [除此之外,脚本似乎检查 /tmp/.X11-unix/Xn 其中 Xn 中的 n 是一个数字。 看来我已经有 X0 和 X1 了,可能是旧的坏关机遗留下来的。 删除它似乎将其恢复为使用 :0.0 ]

    【讨论】:

    • 谢谢!我也有这个问题!请注意,ls 可能会将文件显示为 /tmp/.X11-unix/X0=,但 '=' 是一种罕见的文件类型指示符。不过,gvim 仍然对我不起作用。同样的错误。
    【解决方案3】:

    对我来说,gvim 是从 /usr/bin/gvim 获取的 我将 gvim 安装为 windows 应用程序,然后直接从其 windows 路径调用它

    [cygwin$] /cygdrive/C/Program\ Files\ \(x86\)/Vim/vim74/gvim
    

    它奏效了。

    【讨论】:

      【解决方案4】:

      像 user2250246 一样,我只是试图让 cygwin 的 gvim 重新开始工作,但我不想键入或别名 gvim。 (我可能应该这样做。别名更容易。)

      我将 Windows 应用的 gvim 路径添加到我的 Windows 环境变量中:

      1. 通过在开始菜单中找到 gvim 的图标获取 gvim 的路径,然后 右键单击它,然后打开属性。找到目标链接 并复制除最终的 'gvim.exe' 之外的所有内容。
      2. 进入控制面板 -> 系统 -> 高级系统设置 -> 环境 变量 -> 系统变量。选择路径。单击编辑。 在开始时粘贴该路径。单击确定。点击确定。

      然后 Cygwin 会将您的 Windows gvim 放在它的路径上,但它会将 /usr/bin 放在它自己的路径上。所以

      1. mv /usr/bin/gvim /usr/bin/gvim-screwed-up

        mv /usr/bin/gvimdiff /usr/bin/gvimdiff-screwed-up

      无论您的 cygwin X 服务器是否运行,您的 cygwin 都会找到并运行 Windows 安装的 gvim。

      不幸的是,它将不再加载您的 cygwin .vimrc!你必须自己解决这个问题。

      【讨论】:

        【解决方案5】:

        你可以在你的 .bash_profile 中定义一个函数(你需要确保 gvim.exe 在你的 $PATH 中)

        vim() {
          echo "cygstart gvim.exe --remote-tab-silent $(cygpath -w "$@")"
          cygstart gvim.exe --remote-tab-silent $(cygpath -w "$@")
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-02-27
          • 1970-01-01
          • 1970-01-01
          • 2014-11-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-16
          相关资源
          最近更新 更多