Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使gx命令在XFCE4桌面上的Vim中用于URL?_Vim - Fatal编程技术网

如何使gx命令在XFCE4桌面上的Vim中用于URL?

如何使gx命令在XFCE4桌面上的Vim中用于URL?,vim,Vim,在我的Windows7系统上使用GVim时,如果在光标位于URL上时按gx,它将在Firefox(我在Windows上的默认浏览器)中启动URL 然而,当我在Debian 8.3 Linux系统上的XFCE4桌面上执行相同操作时,按gx根本没有任何作用 我在两个系统上都使用GVim(Vim 7.4) :let g:netrw\u browsex\u viewer命令在两个系统上返回E121:Undefined变量:g:netrw\u browsex\u viewer 我尝试在Linux系统上输入

在我的Windows7系统上使用GVim时,如果在光标位于URL上时按gx,它将在Firefox(我在Windows上的默认浏览器)中启动URL

然而,当我在Debian 8.3 Linux系统上的XFCE4桌面上执行相同操作时,按gx根本没有任何作用

我在两个系统上都使用GVim(Vim 7.4)

:let g:netrw\u browsex\u viewer
命令在两个系统上返回
E121:Undefined变量:g:netrw\u browsex\u viewer

我尝试在Linux系统上输入
:let g:netrw\u browsex\u viewer=“xdg open”
命令,但毫无帮助

我有两个问题:

  • 为什么
    gx
    命令适用于Windows系统上的URL,但不适用于Debian Linux系统上的XFCE4桌面,即使
    g:netrw\u browsex\u viewer
    在这两个命令中都未定义
  • 如何使
    gx
    命令适用于Debian Linux系统上XFCE4桌面上的URL

  • 我应该更仔细地阅读

    您正在使用GVim。gx命令与使用Xfce4的GVim之间存在冲突。看起来还没修好。但从一些讨论来看,您似乎可以通过以下方式规避此问题:

    let g:netrw_browsex_viewer="setsid xdg-open"
    

    正常情况下,以下命令应该有效,并且在Xfce终端(xfce4终端0.6.3)内执行Vim 7.4.576时有效

    但是上述命令在Xfce 4.10中的GVim 7.4.576中不起作用,因为-exo open URL对GVim没有任何作用

    下面是一个适合我的解决方案

    :let g:netrw_browsex_viewer="setsid xdg-open"
    

    运行
    xdg open时会发生什么http://google.com/
    在XFCE系统的终端中?@SatoKatsura
    xdg打开http://google.com/
    在Firefox中启动Google。如果没有运行Firefox,则会启动一个新的Firefox实例。如果Firefox已经在运行,那么会在现有实例中打开一个新选项卡。好的,如果在XFCE系统上从GVim运行该选项卡,会发生什么情况:
    :call system('xdg-openhttp://google.com/“)
    ?@SatoKatsura正在运行
    :呼叫系统('xdg-openhttp://google.com/)
    XFCE上的GVim也会启动Firefox(或Firefox选项卡)以显示URL。我为此打开了一个窗口。在问题后面评论中的讨论中,我解释了xdg open存在于我的系统中,并且工作正常。是的,我忽略了这一点;但无论如何,xfce4不使用xdg open;它使用exo-open。你试过exo open吗?
    :let g:netrw_browsex_viewer="setsid xdg-open"