2

У меня странная проблема с Vim, экраном и замазкой.

Я подключаюсь к Screen через Putty, который, в общем, работает нормально. Однако у меня были некоторые проблемы с прокруткой для работы в Vim.

Некоторые детали:

  • Я установил termcapinfo xterm* ti@:te@ в моем screenrc, чтобы использовать колесико мыши для прокрутки. Это не работает хорошо (прокрутка запутывается между окнами экрана), но я предпочитаю использовать клавиатуру
  • Я set term=xterm в моем vimrc.
  • Также в моем vimrc я установил mouse=a и ttymouse=xterm2 , чтобы я мог использовать колесико мыши . Здесь возникают проблемы
    • Когда я прокручиваю мышью в левой части окна PuTTY, он работает нормально
    • Когда я прокручиваю мышью в правой части окна PuTTY, случайные символы либо вставляются в файл, который я редактирую, либо в командную строку Vim.

Я не могу найти кого-то еще с этой проблемой, когда я искал, и я в недоумении для вещей, чтобы попробовать. Любые предложения относительно того, что я мог бы попробовать, были бы действительно полезны.

Дайте мне знать, если я могу предоставить дополнительную информацию.

1 ответ1

1

Вставка « set term=xterm » в ваш vimrc - плохая идея и, вероятно, причина ваших проблем; при запуске под экраном ваш TERM (в оболочке) и опция 'term' в Vim должны быть "screen" и ничего больше.

Если вы пытались решить проблему с TERM, установив параметр 'term' в Vim, вам нужно найти фактический источник проблемы и устранить его там. Подходит ли PuTTY правильный тип терминала? Ваша оболочка перед тем, как вы запускаете экран, отображает правильный TERM? (echo $TERM в командной строке оболочки). И, наконец, ваша оболочка после запуска экрана настроена на "экран" (как всегда должно быть)?

Если у вас все еще есть эта проблема после исправления проблем с TERM, проверьте вывод:

:verbose set ttimeout? ttimeoutlen?

(Обратите внимание на двойные т, и вопросительные знаки являются частью команды.)

Обычно вывод будет "nottimeout ttimeoutlen = -1" в двух строках, если они что-то еще, попробуйте сбросить их:

:set ttimeout& ttimeoutlen&

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .