В 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. Возможно, я просто буду продолжать использовать это.