我知道mousefocus选项只适用于gVim。但是我想知道,如果可以将控制台Vim切换到不同的窗口以响应鼠标点击,那么是否也不可能轻松添加鼠标移动到它?
我是一个xmonad用户,我喜欢关注指针功能后的焦点,我在Vim写作时做了很多pdf查看和浏览,如果我不需要保持心理,我会更开心在两种不同类型的焦点变化之间来回切换。
如果这完全不可能,我想在新的终端实例中打开新的Vim窗口(如:拆分)并不容易吗?
答案 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。