焦点跟随vim中的鼠标

时间:2012-12-04 21:12:14

标签: vim mousemove

我知道mousefocus选项只适用于gVim。但是我想知道,如果可以将控制台Vim切换到不同的窗口以响应鼠标点击,那么是否也不可能轻松添加鼠标移动到它?

我是一个xmonad用户,我喜欢关注指针功能后的焦点,我在Vim写作时做了很多pdf查看和浏览,如果我不需要保持心理,我会更开心在两种不同类型的焦点变化之间来回切换。

如果这完全不可能,我想在新的终端实例中打开新的Vim窗口(如:拆分)并不容易吗?

3 个答案:

答案 0 :(得分:10)

添加此内容并不简单。在终端内使用鼠标通过vim向终端发送控制代码来请求将鼠标动作作为输入流的一部分发送。终端仅报告点击而不是指针位置的变化,因此vim无法知道鼠标的位置。

通过重大更改,支持X的vim很可能直接从X服务器获取指针活动,但这很可能是通过像素而不是按字符报告的,因此需要进一步完成工作才能实现确定当前哪个vim窗口在指针下。

答案 1 :(得分:5)

set mouse=a

应该做的伎俩,但它可能取决于你的终端模拟器。请参阅:help 'mouse'

答案 2 :(得分:0)

适用于Windows 7 / Cygwin 32bit mintty / vim 7.3 :(我不使用gvim!)

安装了这个:http://ehiti.de/katmouse/后,我可以在我的光标下滚动窗口,而不必点击选择一个窗口,点击选择单个vim-windows也可以。如果另一个窗口重叠,它不会将vim窗口拉到前台,如果这是你想要的。它仍然可以滚动而不先点击选择它。

所以:
检查您的发行版是否存在软件包,它在操作系统级别实现所需的鼠标行为。当这对我在cygwin中的自编译vim有用时,它也可以在linux上使用console vim。

这里的帖子可以作为证据,这是可能的,这就是没有作出评论的原因。当我再次使用Linux时,我会进一步调查并更新这篇文章,但这可能需要一段时间。

开启set mouse=a:vim帮助声明您需要一个能够处理鼠标输入的终端,可以找到更多信息here:help ttymouse也可能有用,例如,如果您有一个符合xterm的控制台,但:help term设置为其他内容。


UPDATE :(新安装的Fedora 19包,没有自编的东西。)

Fedora 19 + se mouse=a =在单个控制台vim窗口中滚动,其中几个缓冲区彼此相邻地独立工作。使用的窗口管理器是LXDE。