维姆说;无鼠标支持“;,但只有当我运行git commit时
我喜欢在vim中使用鼠标,因此我在我的维姆说;无鼠标支持“;,但只有当我运行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
.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
。