26

我喜欢在 vim 中使用鼠标,所以我的.vimrc. 这在任何地方都可以正常工作,但是每当我git commit在特定服务器(Appa)上运行时,我都会收到一条错误消息:

[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 上编辑任何其他内容时,我都有鼠标支持和语法高亮显示。如果我set mouse=a从 Appa 中删除该行.vimrc然后在 Appa运行git commit,我将不再收到错误消息,但我也不会获得语法高亮显示。

我怎样才能让 vim 、git commit和 Appa 相互配合?

Appa 的操作系统是 RHEL 6.3 (Santiago);Appa的vim是7.2版本;Appa 的 git 版本是 1.7.1。这是我的.vimrc(所有机器都相同):https ://github.com/tswett/setup/blob/c84c8908a04a1d925d90da3da4f2fc83bf56172b/.vimrc

4

2 回答 2

34

vim在 Appa 上的其他行为是否正确?也就是说,您是每次运行时出现问题vim,还是在使用时出现问题git commit

如果是前者:

你确定它git commit正在运行vim吗?许多应用程序默认vi在没有任何其他配置的情况下使用,并且通常用于(a)缺少许多花哨功能vi的非常小的版本或(b)完全不同的东西。vim

尝试显式设置core.editorvim查看会发生什么:

git config --global core.editor vim

或者,您也可以设置您的EDITORVISUAL环境变量。

于 2012-08-08T18:49:03.637 回答
1

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

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

  • 自己编译或获取平台的编译可执行文件,
  • 将其保存在用户本地bin目录中,并且
  • EDITOR环境变量设置为指向您自己的vim。
于 2012-08-08T18:44:45.800 回答