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
维姆说;无鼠标支持“;,但只有当我运行git commit时_Git_Vim - Fatal编程技术网

维姆说;无鼠标支持“;,但只有当我运行git commit时

维姆说;无鼠标支持“;,但只有当我运行git commit时,git,vim,Git,Vim,我喜欢在vim中使用鼠标,因此我在我的.vimrc中启用了鼠标支持。这在大多数情况下都可以正常工作,但每当我在特定服务器(Appa)上运行git commit,就会收到一条错误消息: [tswett@appa git]$ git commit Error detected while processing /home/tswett/.vimrc: line 1: E538: No mouse support: mouse=a Press ENTER or type command to c

我喜欢在vim中使用鼠标,因此我在我的
.vimrc
中启用了鼠标支持。这在大多数情况下都可以正常工作,但每当我在特定服务器(Appa)上运行
git commit
,就会收到一条错误消息:

[tswett@appa git]$ git commit
Error detected while processing /home/tswett/.vimrc:
line    1:
E538: No mouse support: mouse=a
Press ENTER or type command to continue
Aborting commit due to empty commit message.
[tswett@appa git]$
我最终得到了一个vim会话,它没有鼠标支持,也没有语法突出显示

如果我在不同的服务器上或本地机器上运行
git commit
,我确实有鼠标支持和语法突出显示。同样,每当我使用vim在Appa上编辑任何其他内容时,我都有鼠标支持和语法高亮显示。如果我从
.vimrc
中删除
set mouse=a
行,然后在Appa上运行
git commit
,我将不再收到错误消息,但也不会得到语法突出显示

我怎样才能让vim、
git commit
和Appa彼此友好相处


Appa的操作系统是RHEL 6.3(圣地亚哥);Appa的vim版本为7.2;Appa的git版本是1.7.1。这是我的
.vimrc
(在所有机器上都相同):

在特定的vim构建中可以启用或禁用鼠标支持。您可以使用:
:version
查看启用/禁用哪些功能。在Appa机器上,您可能会在列表中看到
-mouse

唯一的解决方案是使用一个支持鼠标的vim,。除非您控制服务器,否则这意味着:

  • 自行编译或获取平台的已编译可执行文件
  • 将其保存在用户本地
    bin
    目录中,以及
  • 编辑器
    环境变量设置为指向您自己的vim

    • Appa上的
      vim
      是否正常工作?也就是说,无论何时运行
      vim
      ,还是仅当使用
      git commit
      时,您都会遇到问题吗

      如果前者:

      您确定
      git commit
      正在运行
      vim
      ?许多应用程序默认在没有任何其他配置的情况下使用
      vi
      ,而
      vi
      的典型情况是(a)一个非常简单的
      vim
      版本缺少许多新奇的功能,或者(b)完全不同的功能

      尝试将
      core.editor
      显式设置为
      vim
      ,看看会发生什么:

      git config --global core.editor vim
      

      或者,您也可以设置
      编辑器
      视觉
      环境变量。

      检查
      :echo在该机器上有(“鼠标”)
      。如果它返回0(它应该返回该消息),则您必须获得另一个vim(例如,自己编译它或在存储库中找到更完整的版本)。此问题仅在我使用
      git commit
      时发生。事实证明,根据
      :version
      git commit
      使用的是“没有GUI的小版本”(没有鼠标支持),而不是“没有GUI的大版本”(有鼠标支持)。运行
      git config
      命令修复了它。有趣的是,
      vi
      是指向
      vim
      的符号链接-git最终是如何使用小版本的?事实上,我错了。在Appa上,
      vi
      vim
      的别名。据我所知,git实际上运行的是
      /bin/vi
      ,而不是导致问题的
      /usr/bin/vim