В Vim, почему моя мышь не работает после 220-й колонки?

Я стараюсь максимизировать терминал на один экран и вертикально разделять несколько окон в Vim. Все работает отлично для первых нескольких окон слева, но щелчок мимо 220-го столбца в терминале работает неправильно. Любые щелчки мыши за столбцом 220, кажется, обертываются вокруг столбца 1. Я тестировал в терминалах xterm, urxvt и Gnome с и без tmux/screen; всегда такое же поведение. Если я значительно увеличу размер шрифта в терминале Gnome, я могу щелкнуть по последнему столбцу (хотя он больше не находится в столбце № 220).

Если я запустил команду в терминале, который печатает на стандартный вывод, я могу щелкнуть весь путь справа от терминала. Проблема, похоже, связана с Vim.

У меня set mouse=a в .vimrc. Я буду публиковать весь файл по запросу, но он, похоже, не имеет ничего общего с мышью.

Это, наверное, не имеет значения, но я запускаю Xmonad + Gnome. Спасибо заранее.

Ответ 1

Это исправлено в 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.

Если вы используете старые версии экрана или эмуляторы терминалов, которые не поддерживают SGR, вам может потребоваться обновить или переключиться. Эти настройки работают со всеми новыми версиями экрана, tmux, gnome-terminal, PuTTY/KiTTY, iTerm2 и Terminal.app, используя TERM=xterm-256color или screen-256color.

Ответ 2

Edit:
Я удалил отчет об ошибке, поскольку этот трекер был для веб-сайта, а не текстовый редактор.

При поиске правильного места для существующего отчета об ошибке я нашел следующее: 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

Ответ 3

Несколько лет спустя ошибка все еще кажется присутствующей. Решение, которое я нашел, это neovim: современный рефактор vim. Среди других функций эта ошибка была решена.

Я просто скопировал мой .vimrc в .nvimrc, и мои плагины просто работали с nvim. Возможно, я просто буду продолжать использовать это.