在Vim中,为什么我的鼠标不能超过第220列?

时间:2011-08-09 18:24:31

标签: vim

我倾向于将终端最大化到一个屏幕,并在Vim中垂直分割几个窗口。对于左侧的前几个窗口,一切正常,但是在终端中点击第220列以后无法正常工作。任何鼠标点击过220列似乎都在第1列。我已经在xterm,urxvt和Gnome终端上进行了测试,有或没有tmux / screen;总是一样的行为。如果我大大增加了Gnome终端中字体的大小,我可以点击最后一列(虽然它不再超过#220列。)

如果我在打印到标准输出的终端中运行命令,我可以一直点击终端右侧。这个问题确实与Vim有关。

我在set mouse=a中有.vimrc。我会根据请求发布整个文件,但它似乎没有任何与鼠标相关的内容。

这可能无关紧要,但我正在运行Xmonad + Gnome。提前谢谢。

3 个答案:

答案 0 :(得分:75)

这已在Vim 7.3.632中修复。见:h sgr-mouse。或者只是将其放在~/.vimrc

set ttymouse=sgr

如果要与未编译mouse_sgr的版本兼容,请使用:

if has("mouse_sgr")
    set ttymouse=sgr
else
    set ttymouse=xterm2
end

要查看您的Vim版本是否为mouse_sgr,从命令行运行vim --version,还是在Vim中,请输入:version,然后查找+mouse_sgr。< / p>

如果您使用的是较旧版本的屏幕或不支持SGR的终端仿真程序,则可能需要升级或切换。这些设置适用于所有新版本的screen,tmux,gnome-terminal,PuTTY / KiTTY,iTerm2和Terminal.app,使用TERM=xterm-256colorscreen-256color

更新:如果您使用的是neovim,默认情况下会启用SGR支持。

答案 1 :(得分:9)

修改
我删除了错误报告,因为该跟踪器是针对网站的,而不是文本编辑器。

在查看现有错误报告的正确位置时,我发现了这一点: http://groups.google.com/group/vim_dev/browse_thread/thread/4c137e64d2032441/b3993eaa89589619?lnk=gst&q=mouse#b3993eaa89589619

总而言之,这是一个已被取消的xterm限制。但是,Vim尚不支持长于223的列。


原件:
这似乎是一个错误,由redstreet提出的评论支持。我提交了一份错误报告:

https://sourceforge.net/tracker/?func=detail&aid=3389331&group_id=27891&atid=391887

答案 2 :(得分:4)

几年后,虫子似乎仍然存在。 我找到的解决方案是neovim:vim的现代重构。在其他功能中,此错误已得到解决。

我只是将我的.vimrc复制到.nvimrc中,我的插件只使用了nvim。也许我会继续使用它。