我在Stack Overflow的控制台vim中完全禁用了鼠标。听起来确实像我想要的,但是问题出在Cygwin上,所以标题用词不当。

我想知道如何完全禁用控制台上vim中的所有鼠标交互。我不想滚动,选择,单击或以其他方式查看鼠标对vim不起作用。

我喜欢将鼠标放在控制台中,而不是在使用vim时。

我有一台安装了ubuntu的笔记本电脑,当我打字时,偶尔触摸板鼠标会决定随机单击或拖动屏幕上的一些随机坐标,即使我尝试最难的是不要碰该死的东西。这会导致我一直在错误的位置键入代码,并且它变得非常古老,因为有时它会在我的代码中引入细微的不可逆错误。

我已经摆脱了滚动并使用下面的命令在我的.vimrc中进行视觉选择,但单击时它仍会重新定位光标。

" disable mouse interactions "
set mouse=nicr
map <ScrollWheelUp> <nop>
map <S-ScrollWheelUp> <nop>
map <C-ScrollWheelUp> <nop>
map <ScrollWheelDown> <nop>
map <S-ScrollWheelDown> <nop>
map <C-ScrollWheelDown> <nop>
map <ScrollWheelLeft> <nop>
map <S-ScrollWheelLeft> <nop>
map <C-ScrollWheelLeft> <nop>
map <ScrollWheelRight> <nop>
map <S-ScrollWheelRight> <nop>
map <C-ScrollWheelRight> <nop>


我还需要做什么?

PS我尝试过set mouse=,但这似乎可以重新启用视觉选择...

评论

set mouse =有效地禁用了与Vim的每一次鼠标交互,但是没有与终端仿真器交互。您确定“视觉选择”是Vim的吗?

这可能是由于在/ etc / vimrc中加载​​配置之后_之后加载了中央配置。在这里查看我的答案:unix.stackexchange.com/a/506723/194822

#1 楼

您应该在/ etc / vim / vimrc的末尾添加以下两行:

set mouse=
set ttymouse=


评论


我不了解ttymouse,谢谢!

–詹姆斯·莱(James M. Lay)
18/12/6在20:54

ttymouse +1,所有网站都提到鼠标,但是ttymouse是我所缺少的那个。谢谢 !

– KaKi87
20年4月21日在22:19

疯狂的是,当在编辑器中时,发出:set mouse- = a很好用。但是,仅在vimrc文件中设置ttymouse =可以解决问题。这是为什么?无论如何:也感谢我的ttymouse。

–马库斯·赫尔曼(Markus-Hermann)
20/12/29在19:01



#2 楼

如果将它放在.vimrc的末尾,这可能会起作用。set mouse=c

可能不是Vim接受鼠标输入,而是终端仿真器。要在终端上禁用鼠标支持,可能会有所帮助。

评论


为什么c而不是完全空白?

–丰富
17年11月1日在13:27

#3 楼

充其量只是部分解决方案,但是在vim在shell脚本中以xinput运行时,您可以全局禁用鼠标/触摸板: />
xinput set-prop $ID "Device Enabled" 0


准备好再次使用触摸板时。

使用xinput --list获取指向设备的ID。

评论


这可能与FocusGained和FocusLost自动命令事件很好地结合在一起,尽管看起来似乎很难找到可以检测到这些事件的终端+ Vim设置。

– 8bittree
17年9月15日在0:32

#4 楼

您可以使用-C标志
vim -C somefile


评论


欢迎来到本网站@ quant2016!您的答案由于篇幅太长而被标记为低质量。对于以后的读者来说,解释为什么-C是解决方案将很有用。请注意,此标志不仅会禁用鼠标,还会设置vim的兼容模式,这种模式在这里有很多无人值守的副作用,因此我认为这一点确实值得一提,因为它可能引起更多的问题而不是解决的方法。

–statox♦
20年8月4日在10:08