Я использую замазку (на Windows 7) для подключения к оболочке и Vim в качестве редактора. У меня также есть мышь = опция включена в Vim, но я получаю странное поведение (например, случайные вставки символов и / или разрывы строк), когда я щелкаю справа от окна Vim (скажем, это как 70% + область ширины экрана, где это становится странным). Я постепенно привыкаю к такому поведению, но мне бы очень хотелось узнать, смогу ли я как-нибудь это исправить.
5
Ответы:
PuTTY отправляет события мыши по протоколу xterm, который восходит к X10 в середине восьмидесятых годов. Это кодирует координаты мыши по одному байту для строки и столбца, в результате чего добавляется 32 (код ASCII для пробела). Это учитывает координаты до 223 (что составляет 255 - 32).
К сожалению, это кодирование не соответствует применимым стандартам для последовательностей управления терминалом, и диапазон может быть эффективно ограничен до 95 (то есть 127 - 32), если приложения не делают специальных допусков для него. В частности, если приложение выполняет декодирование UTF-8 перед синтаксическим разбором управляющей последовательности, координаты мыши за пределами 95 просто оказываются недействительными в качестве недействительного UTF-8.
В течение прошлого года было предпринято несколько попыток решить эту проблему в xterm. Лучшим из них является так называемый режим SGR 1006, добавленный в патч № 277 , который использует стандартную последовательность управления с неограниченными координатами. Поддержка этого будет медленно распространяться на другие эмуляторы терминала и приложения.
источник
Это было исправлено в Vim 7.3.632 , Увидеть
:h sgr-mouse
, Или просто вставьте это в свой~/.vimrc
:Если вы хотите быть совместимым с версиями, которые не имеют
mouse_sgr
составлено, используйте:Чтобы увидеть, есть ли в вашей версии Vim
mouse_sgr
, бежатьvim --version
из командной строки или в Vim введите:version
и искать+mouse_sgr
,источник